import xlrd #导入xlrd模块
class ExcelData():
def __init__(self,data_path,sheetname):
self.data_path = data_path # excle表格路径,需传入绝对路径
self.sheetname = sheetname # excle表格内sheet名
self.data = xlrd.open_workbook(self.data_path) # 打开excel表格
self.table = self.data.sheet_by_name(self.sheetname) # 切换到相应sheet
self.keys = self.table.row_values(0) # 第一行作为key值
# print(self.keys)
self.rowNum = self.table.nrows # 获取表格行数
self.colNum = self.table.ncols # 获取表格列数
# print(self.rowNum)
# print(self.colNum)
def readExcel(self):
if self.rowNum<2:
print("excle内数据行数小于2")
else:
L = [] #列表L存放取出的数据
for i in range(0,self.rowNum): #从第二行(数据行)开始取数据
sheet_data = {} #定义一个字典用来存放对应数据
# for j in range(self.colNum): #j对应列值
# q=self.table.row_values(i)[int(j+1)]
# print(q)
# sheet_data[self.keys[j]] = self.table.row_values(i)[j] #把第i行第j列的值取出赋给第j列的键值,构成字典
sheet_data[self.table.row_values(i)[0]] = self.table.row_values(i)[1] #把第i行第1列的值取出赋给第i行第2列的键值,构成字典
# print(sheet_data)
L.append(sheet_data) #一行值取完之后(一个字典),追加到L列表中
# print(type(L))
return L
if __name__ == '__main__':
data_path = "C:\\Users\\!\\Desktop\\信用能源企业不存在(承装-修-试).xls" #文件的绝对路径
sheetname = "credit_energy"
get_data = ExcelData(data_path,sheetname) #定义get_data对象
# print(get_data.readExcel())
e = get_data.readExcel()
company = '首都航天机械有限公司(限系统内部作业)'
for r in e:
# print(r)
for jj in r.keys():
# print(jj)
if company==jj:
company = r[jj]
# print(company)
break
print(company)
输出
首都航天机械有限公司