Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-Xlwt超过256列_Python - Fatal编程技术网

Python-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

我正在使用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)
您可以在
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()