使用函数将数据帧写入当前目录之外的路径?

时间:2017-11-23 11:02:07

标签: python-3.x function pandas path export-to-excel

我得到了一个与此问题有关的问题(可能是重复的)here

我尝试将pandas数据帧写入给定路径中的Excel文件(之前不存在)。因为我必须做很多次,所以我尝试将它包装在一个函数中。这是我的工作:

df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})

def excel_to_path(frame, path):
    writer = pd.ExcelWriter(path , engine='xlsxwriter')
    frame.to_excel(writer, sheet_name='Output')
    writer.save()

excel_to_path(df, "../foo/bar/myfile.xlsx")

我抛出了错误[Errno 2] No such file or directory: '../foo/bar/myfile.xlsx'。我该怎么办呢?

编辑:只要定义的path位于当前工作目录中,它就可以正常工作。但我想指定任何给定的path。想法?

1 个答案:

答案 0 :(得分:0)

我经常因忘记创建目录而被咬伤。也许路径../foo/bar/尚不存在? Pandas将为您创建文件,但不是父目录。

详细说明,我猜你的设置是这样的:

.
└── src
    ├── foo
    │   └── bar
    └── your_script.py

src是您的工作目录,因此foo/bar相对于您而存在,但../foo/bar尚不存在!

因此,您应该将foo/bar目录添加到一级:

.
├── foo_should_go_here
│   └── bar_should_go_here
└── src
    ├── foo
    │   └── bar
    └── your_script.py