Я импортирую текстовые файлы в excel с помощью модуля xlwt. Но он позволяет хранить только 256 столбцов. Есть ли способы решить эту проблему?
Python - 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()