xlsx создает ошибку при открытии

В настоящее время я использую xlsx writer для передачи информации из обычного текстового файла в excel. Однако после создания документа excel большую часть времени я не могу его открыть. Я получаю следующую ошибку: «Мы сожалеем, но Excel столкнулся с ошибкой, которая мешает ей работать правильно. В результате Excel нужно будет закрыть.

Вы хотите, чтобы мы сейчас ремонтировали?

Затем, когда я выбираю ремонт, он просто закрывает Excel. Иногда это будет работать, и я могу просмотреть файл.

Вот простой текстовый файл для справки:

"DOT_NUMBER","LEGAL_NAME","DBA_NAME","CARRIER_OPERATION","HM_FLAG","PC_FLAG","PHY_STREET","PHY_CITY","PHY_STATE","PHY_ZIP","PHY_COUNTRY","MAILING_STREET","MAILING_CITY","MAILING_STATE","MAILING_ZIP","MAILING_COUNTRY","TELEPHONE","FAX","EMAIL_ADDRESS","MCS150_DATE","MCS150_MILEAGE","MCS150_MILEAGE_YEAR","ADD_DATE","OIC_STATE","NBR_POWER_UNIT","DRIVER_TOTAL" 10000,"POWELL DISTRIBUTING CO INC","","A","N","N","9125 N BURRAGE AVE","PORTLAND","OR","97217-6961","US","PO BOX 17160","PORTLAND","OR","97217-0160","US","(503) 289-5558","(503) 735-0100","","06-DEC-16","20000","2015","01-JUN-74","OR","1","1" 1000002,"NEW JERSEY BOOM & ERECTORS INC","","A","N","N","120 SANS DRIVE","HENRYVILLE","PA","18332","US","120 SANS DRIVE","HENRYVILLE","PA","18332","US","(570) 620-1546","(570) 620-1517","[email protected]","06-JAN-16","243647","2015","22-JAN-02","PA","1","1" 1000004,"RAY TRUCKING LLC","","C","N","N","218 PEACHTREE ST","WARWICK","GA","31796","US","PO BOX 281","WARWICK","GA","31796","US","(229) 535-4140","","[email protected]","19-OCT-16","83000","2015","22-JAN-02","GA","2","2" 1000008,"GUERRERA LANDSCAPING LLC","","C","N","N","164 NUT PLAINS RD","GUILFORD","CT","06437-2138","US","164 NUT PLAINS RD","GUILFORD","CT","06437-2138","US","(203) 453-6693","","","25-MAR-06","30000","2005","22-JAN-02","CT","4","3" 1000009,"REINHARD CORP","","C","N","N","1647 REINHARD RD","CHESHIRE","CT","06410","US","1647 REINHARD RD","CHESHIRE","CT","06410","US","(203) 272-2869","","","11-APR-06","2000","2005","22-JAN-02","CT","1","1" 1000010,"DELUXE MOTOR COMPANY INC","DELUXE HARLEY DAVIDSON-BUELL","A","N","N","3300 CONESTOGA DR","CASPER","WY","82718","US","3300 CONESTOGA DR","GILLETTE","WY","82718","US","(307) 687-2001","(307) 687-0245","[email protected]","26-OCT-16","50000","2014","22-JAN-02","WY","8","3" 1000012,"CENTRAL HEATING & AIR INC","","C","N","N","600 S CHARLOTTE","SIOUX FALLS","SD","57103-2614","US","600 S CHARLOTTE","SIOUX FALLS","SD","57103-2614","US","(605) 371-3076","(605) 339-4409","[email protected]","26-OCT-10","89918","2008","22-JAN-02","SD","9","5" 1000593,"SIGNAL GATES INC","","B","N","N","1800 S 5TH AVE","TUCSON","AZ","85713-5713","US","1800 S 5TH AVE","TUCSON","AZ","85713-5713","US","(520) 628-3199","(520) 628-3620","[email protected]","01-NOV-13","100000","2013","24-JAN-02","AZ","7","9" 

И код (обновленный):

 import xlsxwriter filename = "minitest.txt" file = open(filename, 'r') print("file opened") workbook = xlsxwriter.Workbook("Carriers.xlsx") worksheetA = workbook.add_worksheet() worksheetB = workbook.add_worksheet() worksheetC = workbook.add_worksheet() rowA = 0 rowB = 0 rowC = 0 for line in file: line = line.replace('"', ' ') entry = line.split(",") col = 0 if entry[3] == " A ": for item in entry: worksheetA.write(rowA, col, item) col += 1 rowA += 1 if entry[3] == " B ": for item in entry: worksheetB.write(rowB, col, item) col += 1 rowB += 1 if entry[3] == " C ": for item in entry: worksheetC.write(rowC, col, item) col += 1 rowC += 1 workbook.close() file.close() 

Я не вижу твоей проблемы. Я немного упростил вашу программу, удалив main() и running цикл, и я переместил приращение row в stat. Следующим образом:

 import xlsxwriter filename = "minitest.txt" file = open(filename, 'r') print("file opened") workbook = xlsxwriter.Workbook("Carriers.xlsx") worksheetA = workbook.add_worksheet() row = 0 for line in file: line = line.replace('"', ' ') entry = line.split(",") col = 0 if entry[3] == " A ": print(entry[3]) for item in entry: print(row, "|", col) print(item) worksheetA.write(row, col, item) col += 1 row += 1 workbook.close() file.close() 

Затем я запустил его с помощью тестового текстового файла и выдал ожидаемый результат без предупреждения:

введите описание изображения здесь

Обновление : я запускал обновленную программу и не видел никаких проблем:

введите описание изображения здесь

  • Значения столбцов столбцов столбцов Xslxwriter недействительны.
  • Python: удалить из легенды диаграммы excel, если значение == 0
  • Где всплывает моя книга?
  • XLSX Writer Python-3 Цветная шкала с номером в виде Midpoint
  • Строковая переменная в Xlsxwriter Python
  • как использовать python xlsxwriter для условного форматирования по значению ячейки
  • python XlsxWriter: пустой формат ячейки
  • Объект XlsxWriter сохраняет как HTTP-ответ для создания загрузки в Django
  • Как извлечь форматированные ячейки и их соответствующие строки в Excel
  • Pandas: Итерация через список DataFrames и экспорт каждого в Excel
  • Excel и python с использованием xlsxwriter - игнорирование пробелов при чтении данных, но пустые строки в любом случае записываются в новый файл excel
  • Interesting Posts

    Формула Excel для поиска ближайших значений

    Excel: найдите k и m в текстовой строке «kx + m»

    Формула для получения имен рабочих таблиц на основе результатов сводной таблицы

    Открыть файл на основе даты, вставить данные, сохранить как новую дату и закрыть

    Как добавить dict в файл csv и файл excel в python

    Форма VBA исчезает

    Увеличение адресной ячейки макроса Excel

    Как использовать NPOI для чтения электронной таблицы Excel, содержащей пустые ячейки?

    Как я могу напечатать список наборов в файле с помощью python в формате, который легко помещается в excel, исключая все нежелательные символы?

    Предотвращение открытия источников данных Чтение только при обновлении сводной таблицы с внешним подключением

    Базовый цикл (желательно не распознавать код)

    Получите отступ ячейки Excel в новом столбце, используя C #

    как пропускать защищенные ячейки в диапазоне и записывать данные с помощью Excel COM Interop?

    текст, скопированный в Excel, отображается как изображение

    изменить цвет ячейки с помощью мыши

    Давайте будем гением компьютера.