我使用xlwt模块将文本文件导入excel。但它只允许存储256列。有什么方法可以解决这个问题吗?
答案 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()