Python-Xlwt超过256列
我正在使用xlwt模块将文本文件导入excel。但它只允许存储256列。有什么方法可以解决这个问题吗?这是事实陈述还是xlwt应该支持超过256列?你有什么错误?你的代码看起来像什么Python-Xlwt超过256列,python,Python,我正在使用xlwt模块将文本文件导入excel。但它只允许存储256列。有什么方法可以解决这个问题吗?这是事实陈述还是xlwt应该支持超过256列?你有什么错误?你的代码看起来像什么 如果确实有256列限制,只需使用适当的python模块将数据写入csv文件并将文件导入Excel。xlwt包中文件column.py的第8行将列限制设置为256: raise ValueError("column index (%r) not an int in range(256)" % colx) 您可以在x
如果确实有256列限制,只需使用适当的python模块将数据写入csv文件并将文件导入Excel。
xlwt
包中文件column.py
的第8行将列限制设置为256:
raise ValueError("column index (%r) not an int in range(256)" % colx)
您可以在xlwt
源中更改此数字以允许更多列,但这将破坏与旧版(edit:ALL)excel的兼容性
编辑xlwt的维护人员说,这不起作用,所以不要尝试这样做(我在这里留下这个答案,因为我认为有这个警告很有用)。
xlwt
支持创建由Excel 97-2003创建并由Excel 97读取的XLS文件。文件格式限制为256列和65536行。在xlwt
源代码中将256更改为其他数字不会改变这一点
您有3个选项,按复杂性的增加顺序排列:
(1) 按照另一个人的建议,编写一个CSV文件
(2) 。。。Excel 2007+xlsx/xlsm格式
(3) win32 COM(仅限Windows)使用xlsxwriter和pandas
import xlsxwriter, pandas
writer = pandas.ExcelWriter(file, engine='xlsxwriter')
pandas.to_excel(writer, sheet_name='Sheet1')
writer.save()
哇,我的第一张反对票!查看您的错误消息(您已添加到答案中的错误消息),并修复Row.py中的第76行。这是同样的问题。如果你继续像巴什巴祖一样继续下去,这不是你的最后一个问题。有三个地方需要改变。那也没用。Excel2007抱怨无法读取的数据,尝试恢复,失败惨重。为什么你认为那些错误检查在那里?xlwt维护人员的一条消息:不要这样做。这是浪费时间和精力。Excel 2003、2007和2010将拒绝打开该文件。问题是专门询问
xlwt
模块对我有效的是选项2的不同版本。我改用xlswriter(),因为(对我来说)转换到它的代码更改非常少,比如workbook_name=“testraw.xls”>workbook_name=“testraw.xlsx”,wb=xlwt.workbook()>wb=xlswriter.workbook(name),ws=wb.add_sheet(sheet_name)>ws=wb.add_sheet(sheet_name),wb.save(sheet_name+'.xlsx')>wb.close()。这可能有助于某人快速换档。Excel 12又称Excel 2007引入了.xlsx和.xlsb,它们最多支持1048576行乘以16384列。因此,大多数情况下都应该这样做。
import pandas as pd
writer = pd.ExcelWriter('..\output\The file.xlsx',engine='xlsxwriter')
file.to_excel(writer,'output_sheet')
writer.save()