Неверный вывод в Excel: параметры формулы Openpyxl? - PullRequest
0 голосов
/ 10 июля 2019

Я создаю несколько таблиц Excel из панелей данных, используя pandas.ExcelWriter().

Проблема:

  • При вводе некоторых строк это создает испорченные файлы .xlsx, которые необходимо исправить. ( проблема с некоторым содержимым --- удалена формула , см. Сообщение об ошибке ниже)

  • Я предполагаю, что это происходит потому, что Excel интерпретирует содержимое ячейки не как строку, а формулу, которую он не может проанализировать, например, когда строковое значение начинается с "="

Вопрос:

  • При использовании xlsxwriter в качестве движка я могу решить эту проблему, установив аргумент options = {"strings_to_formulas" : False }

  • Есть ли аналогичный аргумент для openpyxl?

Поиск и устранение неисправностей:

  • Я нашел аргумент data_only для Workbook, но кажется, что он применяется только для чтения файлов / я не могу заставить его работать с ExcelWriter ().

  • Не все выходные значения являются строками / я бы хотел избежать преобразования всех выходных данных в str

  • Не удалось найти подходящий вопрос здесь

Любые советы приветствуются, спасибо!


Сообщения об ошибках:

Мы обнаружили проблему с некоторым содержимым в file.xlsx. Вы хотите, чтобы мы попытались восстановить столько, сколько мы можем? Если вы доверяете источнику этой книги, нажмите Да

В журнале после открытия написано:

[...] summary = "Ниже приведен список удаленных записей:"> Удаленные записи: формула из /xl/worksheets/sheet1.xml part [...]

код

import pandas
excelout = pandas.ExcelWriter(output_file, engine = "openpyxl")
df.to_excel(excelout)
excelout.save()

Версия:

панды @ 0.24.2 openpyxl @ 2.5.6

Excel 2016 для Mac (но реплицируется на Win)

...