Python - Xlwt более 256 столбцов

Я импортирую текстовые файлы в excel с помощью модуля xlwt. Но он позволяет хранить только 256 столбцов. Есть ли способы решить эту проблему?

Ответ 1

xlwt поддерживает создание файлов XLS, созданных Excel 97-2003 и прочитанных Excel 97 и далее. Формат файла ограничен 256 столбцами и 65536 строками. Никакое количество изменений 256 на какой-либо другой номер в исходном коде xlwt не изменится.

У вас есть 3 варианта в возрастающем порядке сложности:

(1), как было предложено другим, напишите CSV файл.

(2) openpyxl... Формат Excel 2007+ xlsx/xlsm

(3) win32 COM (только для Windows)

Ответ 2

Строка 8 в файле Column.py в пакете xlwt устанавливает ограничение столбца на 256:

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

Вы можете изменить это число в источнике xlwt, чтобы разрешить больше столбцов, но это нарушит совместимость со старыми версиями excel ( edit: ALL).

EDIT Помощник xlwt говорит, что это не будет работать, поэтому не пытайтесь это сделать (я оставлю этот ответ здесь, как мне кажется, полезно иметь предупреждение).

Ответ 3

Является ли это утверждением о факте или должен xlwt поддерживать более 256 столбцов? Какая у вас ошибка? Как выглядит ваш код?

Если у этого действительно есть ограничение на 256 столбцов, просто напишите свои данные в csv файле с помощью соответствующего модуля python и импортируйте файл в Excel.

Ответ 4

используйте xlsxwriter и pandas.

import xlsxwriter, pandas

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

Ответ 5

import pandas as pd

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

file.to_excel(writer,'output_sheet') 

writer.save()