Python - Xlwt超过256列

时间:2011-10-05 08:21:50

标签: python

我使用xlwt模块将文本文件导入excel。但它只允许存储256列。有什么方法可以解决这个问题吗?

5 个答案:

答案 0 :(得分:16)

xlwt支持创建由Excel 97-2003创建并由Excel 97以后读取的XLS文件。文件格式限制为256列和65536行。 xlwt源代码中任何更改256到其他数字的数量都不会改变。

您有3个选项,按复杂程度递增:

(1)按照另一个建议,写一个CSV文件。

(2)openpyxl ... Excel 2007+ xlsx / xlsm format

(3)win32 COM(仅限Windows)

答案 1 :(得分:2)

Column.py包中文件xlwt中的第8行将列限制设置为256:

raise ValueError("column index (%r) not an int in range(256)" % colx)

您可以在xlwt来源中更改此数字以允许更多列,但这会破坏与旧版(编辑:ALL)版本的Excel的兼容性。

编辑 xlwt维护者说这不起作用,所以不要尝试(我会留下这个答案)在这里我认为发出警告是有用的。

答案 2 :(得分:1)

这是事实陈述还是xlwt支持超过256列?你得到什么错误?你的代码是什么样的?

如果确实有256列限制,只需使用适当的python模块在csv文件中写入数据,然后将文件导入Excel。

答案 3 :(得分:1)

使用xlsxwriter和pandas。

import xlsxwriter, pandas

writer = pandas.ExcelWriter(file, engine='xlsxwriter')
pandas.to_excel(writer, sheet_name='Sheet1')
writer.save()

答案 4 :(得分:1)

import pandas as pd

writer = pd.ExcelWriter('..\output\The file.xlsx',engine='xlsxwriter') 

file.to_excel(writer,'output_sheet') 

writer.save()