@pcdesign

Как исправить генерацию excel файла при большом кол-ве колонок?

import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("list1")
y = 0 
for num in range(5000):
    txt = 'привет' + str(num)
    sheet.write(y, 0, txt)
    sheet.write(y, 1, txt)
    y = y + 1
workbook.save(file.xls)


И получаю вот такую ошибку в Excel:
27614a7f82e74c898f67b169fb14f680.png

А если сделать меньшее кол-во строк:
for num in range(5):
То все открывается и работает.

Как это победить?
  • Вопрос задан
  • 269 просмотров
Решения вопроса 2
@lPolar
data scientist
вставлю свои пять копеек.
Конечно нативная либа для Excel это хорошо, но есть же numpy+pandas:
import numpy as np
import pandas as pd
random_df = pd.DataFrame(np.random.uniform(0,1,size=(5000,5000))) #создаем df 5к x 5к
random_df.to_excel('4k.xlsx') #записать данные в файл.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
У меня все открывается с 5000. Excel 2010
Какая у вас версия Excel?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fromer
@Fromer
Системный администратор
xlwt - это формат xls, в котором ограничение на количество колонок - 256. Попробуйте формат xlsx - у него колонок 16 тысяч
библиотеки:
github.com/leegao/pyXLSX
github.com/staale/python-xlsx
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы