我正在尝试以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)
我收到与以前相同的错误消息.该文件在其他任何地方都没有打开.