熊猫 to_csv 不输出文件

新手上路,请多包涵

我正在使用 jupyter notebook pandas to_csv 不将数据帧输出到文件。

我尝试使用 to_csv 通过设置工作目录或指定目录将数据帧输出到 csv 文件,但它没有创建任何文件。代码运行并没有产生任何错误消息,但是当我打开文件夹时,没有这样的文件。

我尝试了不同的IO,它确实显示了结果已经输出。

 from io import StringIO

output = StringIO()

a.to_csv(output)

print(output.getvalue())

我得到以下输出:

 ,a

0,1

1,2

2,3

但再次 to_csv('filepath/filename.csv') 不输出任何文件。

PS:我可以使用 read_csv() 读取任何目录中的任何文件。

更新

如果我保存文件 df.to_csv('testfile.csv') 然后做 pd.read_csv('testfile.csv')

我可以读取文件但在目录中看不到它。

此外,执行 [x for x in os.listdir() if x == 'testfile.csv'] 将列出该文件。

原文由 Li Ai 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

我在使用 spyder 时遇到了同样的问题。在我的例子中,它是由我使用的互联网安全工具 (COMODO) 引起的,它以某种方式在沙箱中执行了 spyder,并且不允许它写入“正常”目录。相反,它将结果保存到名为 C:VTRoot\HarddiskVolume2\users\ 的文件夹中。您可以尝试使用非常独特的名称 a.to_csv(‘very_unique_filename.csv’) 保存一个文件,然后在 Windows 资源管理器中搜索该文件名以找到它存储的文件夹。如果原因是这样的工具,更改其设置可能会有所帮助。

原文由 user12352611 发布,翻译遵循 CC BY-SA 4.0 许可协议

我认为问题在于您正在运行 Jupyter Notebook,因此笔记本的“当前目录”可能位于“C:\Users\user_name\AppData…”中的某个位置。

尝试在笔记本中单独运行 os.getcwd() 。它可能与保存 *.ipynb 文件的文件夹不同。正如@Chris 在评论中所建议的那样:

df.to_csv(os.getcwd()+'\\file.csv')

… 会将您的 csv 发送到 AppData 文件夹中。

您可以 更改 Jupyter notebook 的工作目录,也可以使用完全指定的文件名,例如:

df.to_csv('C:\\Users\\<user_name>\\Desktop\\file.csv')

(注意:在使用按 shift+enter 时发生的交互式 iPython 执行时,这也让我在 VS-Code 中绊倒了。有趣的是,在 VS-Code 中,如果你使用 ctrl+shift+p 并选择“Python:运行选择。 ..” 它在您的默认终端中执行,没有这个问题。)

原文由 Matt Moehr 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏