解决方法
xlrd 和 xlwt 是python中用来处理 xls 文件的函数,其单个 sheet 限制最大行数为65535,因此,当读写数据量超出时就会出现如上错误。
如果希望有更大的存储,建议使用 openpyxl 函数,其最大行数为1048576,存储的文件类型为 xlsx 。
import openpyxl
def writetoxlsx():
data = open('./data.txt', 'r')
outwb = openpyxl.Workbook() # 打开一个将写的文件
outws = outwb.create_sheet(index=0) # 在将写的文件创建sheet
i = 1 # 注意:'cell'函数中行列起始值为1
for line in data:
for x in range(0,len(line)):
ws.cell(column = x+1 , row = i , value = "%s" % line[x])
i += 1
savexlsx = "./results.xlsx"
outwb.save(savexlsx) # 保存结果
data.close()
补充: outwb.create_sheet() 中 index 表示表示 sheet 序号,也可以直接用 ‘name’ 命名。