将数据框转换为excel不在docker中工作

2024-03-28 00:48:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我构建了一个dash应用程序,然后将其保存到docker,当我尝试使用以下方式导出数据表时:

pd.DataFrame(rows).to_excel(file, index=False) 

我得到以下错误

Traceback (most recent call last):
      File "/usr/src/app/app.py", line 246, in update_output
        pd.DataFrame(rows).to_excel(file, index=False)
      File "/usr/local/lib/python3.8/site-packages/pandas/core/generic.py", line 2023, in to_excel
        formatter.write(
      File "/usr/local/lib/python3.8/site-packages/pandas/io/formats/excel.py", line 742, in write
        writer.save()
      File "/usr/local/lib/python3.8/site-packages/pandas/io/excel/_openpyxl.py", line 43, in save
        return self.book.save(self.path)
      File "/usr/local/lib/python3.8/site-packages/openpyxl/workbook/workbook.py", line 392, in save
        save_workbook(self, filename)
      File "/usr/local/lib/python3.8/site-packages/openpyxl/writer/excel.py", line 291, in save_workbook
        archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
      File "/usr/local/lib/python3.8/zipfile.py", line 1251, in __init__
        self.fp = io.open(file, filemode)
    FileNotFoundError: [Errno 2] No such file or directory: 'S:/Folder1/Folder2/Folder3/file_name.xlsx'

当我在python中运行它时,代码运行良好,它只在docker容器中中断。我从需求文件安装了openpyxl

你知道是什么引起的吗

非常感谢


Tags: inpyselfsavelibpackagesusrlocal
1条回答
网友
1楼 · 发布于 2024-03-28 00:48:50

在Docker内部运行应用程序时,您没有访问主机文件系统的权限(我假设S:/Folder1/Folder2/Folder3/是本地文件系统上的一个目录)。因此,您应该将需要写入的mount the folder或写入Docker容器中存在的位置

相关问题 更多 >