Python - Xlwt 超过256列

14 投票
6 回答
20700 浏览
提问于 2025-04-17 03:42

我正在使用xlwt模块把文本文件导入到Excel中。但是它只能存储256列数据。有没有什么办法可以解决这个问题呢?

6 个回答

2

使用 xlsxwriter 和 pandas。

import xlsxwriter, pandas

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

xlwt 这个包的 Column.py 文件的第8行,设置了列的限制为256:

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

你可以在 xlwt 的源代码中修改这个数字,以允许更多的列,但这样会导致与旧版(编辑:所有)Excel 不兼容。

编辑:xlwt 的维护者表示这样做是行不通的,所以不要尝试这样做(我把这个回答留在这里,因为我觉得提醒大家很有用)。

18

xlwt 是一个可以用来创建 Excel 97-2003 版本的 XLS 文件的工具,这种文件可以被 Excel 97 及以后的版本读取。不过,这种文件格式有一些限制,比如最多只能有 256 列和 65536 行。即使你在 xlwt 的源代码里把 256 改成其他数字,这个限制也不会改变。

你有三种选择,难度逐渐增加:

(1) 有人建议你可以写一个 CSV 文件。

(2) 使用 openpyxl,它支持 Excel 2007 及以后的 xlsx/xlsm 格式。

(3) 使用 win32 COM(仅限 Windows 系统)。

撰写回答