小编the*_*pin的帖子

当pandas数据帧到tempfile csv时权限被拒绝

我正在尝试以csv格式(在Windows中)将pandas数据帧存储到临时文件中,但我遇到了:

[Errno 13]权限被拒绝:'C:\ Users\Username\AppData\Local\Temp\tmpweymbkye'

import tempfile
import pandas

with tempfile.NamedTemporaryFile() as temp:
    df.to_csv(temp.name)
Run Code Online (Sandbox Code Playgroud)

其中df是数据帧.我也尝试将临时目录更改为一个我确定我有写权限:

tempfile.tempdir='D:/Username/Temp/'
Run Code Online (Sandbox Code Playgroud)

这给了我同样的错误信息

编辑:

当我将循环更改为:时,临时文件似乎被锁定以进行编辑

with tempfile.NamedTemporaryFile() as temp:
    df.to_csv(temp.name + '.csv')
Run Code Online (Sandbox Code Playgroud)

我可以在temp目录中编写该文件,但是它不会在循环结束时自动删除,因为它不再是临时文件.

但是,如果我将代码更改为:

with tempfile.NamedTemporaryFile(suffix='.csv') as temp:
    training_data.to_csv(temp.name)
Run Code Online (Sandbox Code Playgroud)

我收到与以前相同的错误消息.该文件在其他任何地方都没有打开.

python csv temporary-files pandas

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

csv ×1

pandas ×1

python ×1

temporary-files ×1