У меня есть сценарий, который я написал, который читает XML-файл и выводит соответствующие данные в файл TSV. Я конвертирую его, чтобы написать файл XLSX с openpyxl. Всякий раз, когда я сохраняю свою книгу в конце скрипта, она сохраняется в течение 30 секунд при сохранении. Я предполагаю, что это связано с большим объемом данных, которые я пишу (10144 строк в столбце «BG»). Есть ли способ оптимизировать это, чтобы сохранить быстрее или написать непосредственно в файл, пока я его создаю, поэтому ему не нужно сохранять это в конце?Openpyxl зависает при сохранении большого файла
ответ
Трудно сказать, что именно ваша проблема, но первая вещь, которую вы должны попробовать это использовать openpyxl optimized writer:
from openpyxl import Workbook
wb = Workbook(optimized_write = True)
ws = wb.create_sheet()
# now we'll fill it with 10k rows x 200 columns
for irow in xrange(10000):
ws.append(['%d' % i for i in xrange(200)])
wb.save('new_big_file.xlsx') # don't forget to save!
Кроме того, рассмотреть вопрос о переходе на xlsxwriter в constant_memory
режиме (см docs).
Надеюсь, что это поможет.
Ничего себе, 'optimized_write' фактически сократил это примерно до 3 секунд, чтобы сохранить. Я также посмотрю на xlsxwriter. Есть ли какие-либо другие преимущества для xlsxwriter над openpyxl, которые гарантировали бы переключатель? – PseudoPsyche
Поцарапать это. Результирующий файл XLSX составляет всего 6 килобайт и пуст. – PseudoPsyche
Короче говоря, 'xlsxwriter' имеет больше возможностей управления и функций. Однако не уверен в скорости. – alecxe
- 1. Openpyxl: Формулы удаляются при сохранении файла
- 2. Xcode6 зависает при сохранении
- 3. Eclipse Kepler зависает при сохранении
- 4. Работа с Flink зависает при отправке при загрузке большого файла
- 5. Visual Studio зависает при сохранении переключитесь файлом
- 6. Commons FTPClient зависает после загрузки большого файла
- 7. Приложение зависает при сохранении основных данных
- 8. Python IDLE зависает при открытии/сохранении файлов
- 9. Экран Android зависает при сохранении в DB
- 10. Редактор Dart зависает при сохранении файлов?
- 11. UnauthorizedAccessException при сохранении файла
- 12. openpyxl data_only дает только один ответ при сохранении переменной
- 13. Ошибка при загрузке файла excel с Openpyxl
- 14. InputStream.read() зависает при чтении файла
- 15. устройство зависает при удалении файла
- 16. C# Зависает при загрузке файла
- 17. urlretrieve зависает при загрузке файла
- 18. Ошибка Egit при сохранении файла
- 19. UnauthorizedAccessException при сохранении XML-файла
- 20. Visual Studio 2010 asp.net зависает при сохранении страницы
- 21. Установить начальное расширение файла при сохранении файла
- 22. «System.OutOfMemoryException» при загрузке большого файла
- 23. ResponsiveSlides.js зависает при сохранении данных Opera Mini на iOS
- 24. Android AlertDialog зависает при сохранении данных в базе данных
- 25. My iOS app зависает при сохранении с mulithreading
- 26. Eclipse 4.3 + WindowBuilder зависает при сохранении рабочего пространства
- 27. Coredata: проблема с производительностью при сохранении большого количества данных
- 28. Обработка большого файла Загрузка изображения
- 29. ошибка чтения файла XLSX (openpyxl)
- 30. Scala IDE Eclipse релиз зависает в течение 2,5 минут при сохранении файла
Я принял совет alecxe и переключился на 'xlsxwriter'. Гораздо лучше, чем 'openpyxl'. Просто поместите это здесь, чтобы людям легче было определить решение без необходимости читать комментарии ниже. – PseudoPsyche