pandas to_csv不输出文件

zzlelutf  于 2023-03-28  发布在  其他
关注(0)|答案(7)|浏览(493)

我使用的是jupyter notebook pandas to_csv,它不会将 Dataframe 输出到文件中。
我尝试使用to_csv通过设置工作目录或指定目录来将 Dataframe 输出到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']将列出该文件。

pdsfdshx

pdsfdshx1#

我认为问题是你正在运行一个Jupyter Notebook,所以笔记本的“当前目录”可能在“C:\Users\user_name\AppData...”中。
试着在你的笔记本上运行os.getcwd()。它可能和保存*.ipynb文件的文件夹不同。所以就像@Chris在评论中建议的那样:
df.to_csv(os.getcwd()+'\\file.csv')
...会将您的csv发送到AppData文件夹中。
你可以使用change the working directory for the Jupyter notebook,或者你可以使用一个完全指定的文件名,如:
df.to_csv('C:\\Users\\<user_name>\\Desktop\\file.csv')
(Note:这也让我在VS-Code中使用交互式iPython执行时遇到了问题,当你按shift+enter时会发生这种情况。有趣的是,在VS-Code中,如果你使用ctrl+shift+p并选择“Python:运行选择......”它在默认终端中执行,而默认终端没有这个问题。)

o2rvlv0m

o2rvlv0m2#

你可能忘了在你的路径后面加上文件名,所以它会把你的文件命名为你的路径的最后一个字符,你可以在jupyter的主页上看到。
应该是:df.to_csv('path/filename. csv',....)
而不是df.to_csv(“路径. csv ")

2uluyalo

2uluyalo3#

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

lymgl2op

lymgl2op4#

可能您没有访问输出文件夹的权限。
首先尝试当前目录,如to_csv('tmp.csv')
然后使用ls -l检查目录的所有权。

bvjxkvbb

bvjxkvbb5#

这将给予你一个正常的文档,即使你已经使用了to_csv

df.to_csv(**'df',** index = False)

确保使用'df.csv',这将确保输出CSV文件。

df.to_csv(**'df.csv'**, index = False)
qcuzuvrc

qcuzuvrc6#

在我的情况下,文件被保存到我的应用程序根文件夹(如预期的那样)。

但是我需要重新启动Jupyter,即使我启用了自动重新加载:

%load_ext autoreload

  %autoreload 2

也就是说,reload对大多数更改都有效,但当我添加www.example.com _csv时,它不起作用df.to,直到重新启动jupyter notebook

r8xiu3jd

r8xiu3jd7#

您可能出于某种原因使用PyCharm,当您创建新的CSV时,它不会在树中显示创建的文件,尽管如此,它已经创建,您应该在终端中检查文件。或者简单地关闭并重新打开PyCharm。

相关问题