如图所示,我的sheet_name返回的一直是空值,不知道如何解决
import openpyxl
import xlwt
import time
time_start = time.time()
# 创建一个Workbook对象,相当于创建了一个Excel文件
book = xlwt.Workbook(encoding="utf-8", style_compression=0)
for b in range(0, 4, 1): # b为读取的列数,从B列开始
# 创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
sheetb = book.add_sheet('sheet' + str(b) + '', cell_overwrite_ok=True)
for a in range(1, 3, 1): # 读取文件
rawdatabook = openpyxl.load_workbook(r'D:\sss\test' + str(a) + '.xlsx')
# 获取所有sheet
sheet_name = rawdatabook.sheet_names()[0]
# 根据sheet索引或者名称获取sheet内容
sheet = rawdatabook.sheet_by_index(0) # sheet索引从0开始
# sheet的名称,行数,列数
print(sheet.name, sheet.nrows, sheet.ncols)
for i in range(1, sheet.nrows, 1):
data = sheet.col_values(b)[0:] # 读取数据
sheetb.write(i, a, data[i]) # 写入数据
print(b) # 每复制完一列显示一次
book.save('d:\11.xlsx') # 保存文件
time_end = time.time()
print('totally cost', time_end - time_start) # 运行时间
print("accomplish")
这是由于你的参数为None导致的。
可能是 openpyxl 版本不同。我获取所有 sheet 都是 sheet_names = rawdatabook.sheetnames