pandas to_excel экспортирует поврежденный файл в docker?

#python #pandas #docker #dropbox-api

#python #pandas #docker #dropbox-api

Вопрос:

У меня есть скрипт, который очищает некоторую информацию, помещает ее в фрейм данных и записывает в файл Excel в Dropbox. Теперь моя программа отлично работает на моем локальном компьютере, но как только я создаю docker-образ своего проекта, сохраненный файл Excel оказывается поврежденным.

 def write_excel_to_dropbox(dbx, df, excel_path):

    with io.BytesIO() as stream:

        with pd.ExcelWriter(stream) as writer:
            df.to_excel(writer, index=False)
            writer.save()

        stream.seek(0)

        dbx.files_upload(stream.getvalue(), excel_path, mode=dropbox.files.WriteMode.overwrite)
 

Это моя функция для записи и сохранения файла Excel в моем Dropbox. Это действительно что-то сохраняет, но файл поврежден. Это не тот случай, когда я запускаю скрипт в pycharm.
Кто-нибудь знает, что происходит?

Спасибо!

Ответ №1:

Мне пришлось сменить движок на «xlsxwriter»

with pd.ExcelWriter(stream, engine='xlsxwriter') as writer: Рад, что это устранило мою проблему, но все еще не уверен, почему он запускался на моем локальном компьютере, а не в docker.