# Excel 根据sheet名称得到sheet
def get_sheet_by_name(book, name):
try:
for idx in itertools.count(): # itertools.count() 得到xls所有sheet数量
sheet = book.get_sheet(idx) # 按索引得到sheet对象;
if sheet.name == name: # 每个sheet对象名称和传入的名称对比,找到需要的sheet
return sheet
except IndexError:
return None
# Excel写入
def ExcelWrite(filename, row, line, sheetName,version):
#filename:需要写的excel路径和名称
#row:需要写的行
#line:需要写的列
#sheetName:需要写的sheet名称
#version:需要写入的内容
rd = xlrd.open_workbook(filename, formatting_info=True)
wt = xlutils.copy.copy(rd)
sheet = get_sheet_by_name(wt, sheetName)
sheet.write(row, line, version) # 行列索引,0开始
wt.save(filename)
# Excel数据读取
def ExcelRead(filename, sheetname):
datafile = xlrd.open_workbook(filename)
sheet = datafile.sheet_by_name(sheetname)
# 获得列表行数
rows = sheet.nrows
# 获得列表列数
cols = sheet.ncols
# 将列头存储到list
listTitle = sheet.row_values(0)
# 获得某列的索引
# listTitle.index('tenantName')
# 将数据存储到list
i = 1
listData = []
while i < rows:
listData.append(sheet.row_values(i))
i = i + 1
# print("listData:",listData)
return listData