pandas to_excel 在 docker 中导出损坏的文件?

问题描述

我有一个脚本,可以抓取一些信息,将其放入数据框中,然后将其写入保管箱中的 excel 文件。 现在我的程序在我的本地计算机上运行得非常好,但是一旦我构建了我的项目的 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 文件写入并保存到我的保管箱的功能。它确实保存了一些东西,但文件已损坏。当我在 pycharm 中运行脚本时,情况并非如此。 有人知道发生了什么吗?

谢谢!

解决方法

我不得不将引擎更改为“xlsxwriter”

with pd.ExcelWriter(stream,engine='xlsxwriter') as writer: 很高兴这解决了我的问题,但仍然不确定为什么它确实在我的本地运行而不是在 docker 中运行。