问题:如何将 pandas 数据帧写入 Databricks dbfs/FileStore?

在此处输入图像描述在此处输入图像描述我是 Databricks 的新手,在将 pandas 数据帧写入 databricks 本地文件系统时需要帮助。

我确实在 google 中搜索过,但找不到与此类似的任何案例,还尝试了 databricks 提供的帮助指南(附件),但这也不起作用。尝试进行以下更改以找到我的运气,命令运行良好,但文件未写入目录(预期 wrtdftodbfs.txt 文件已创建)

1.df.to_csv("/dbfs/FileStore/NJ/wrtdftodbfs.txt")

结果:抛出以下错误

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'/dbfs/FileStore/NJ/wrtdftodbfs.txt'

2.df.to_csv("\\dbfs\\FileStore\\NJ\\wrtdftodbfs.txt")

结果:没有错误,但也没有写入

3.df.to_csv("dbfs\\FileStore\\NJ\\wrtdftodbfs.txt")

结果:没有错误,但也没有写入

4.df.to_csv(path ="\\dbfs\\FileStore\\NJ\\",file="wrtdftodbfs.txt")

结果:TypeError:to_csv() 得到了一个意外的关键字参数“路径”

5.df.to_csv("dbfs:\\FileStore\\NJ\\wrtdftodbfs.txt")

结果:没有错误,但也没有写入

6.df.to_csv("dbfs:\\dbfs\\FileStore\\NJ\\wrtdftodbfs.txt")

结果:没有错误,但也没有写入

该目录存在并且手动创建的文件会显示出来,但 pandas to_csv 永远不会写入也不会出错。

dbutils.fs.put("/dbfs/FileStore/NJ/tst.txt","Testing file creation and existence")

dbutils.fs.ls("dbfs/FileStore/NJ")

Out[186]:[FileInfo(pathu003d'dbfs:/dbfs/FileStore/NJ/tst.txt', nameu003d'tst.txt', sizeu003d35)]

如果随附的细节不够清楚,请感谢您的时间并原谅我。

解答

在您的笔记本数据块中尝试此操作:

import pandas as pd
from io import StringIO

data = """
CODE,L,PS
5d8A,N,P60490
5d8b,H,P80377
5d8C,O,P60491
"""

df = pd.read_csv(StringIO(data), sep=',')
#print(df)
df.to_csv('/dbfs/FileStore/NJ/file1.txt')

pandas_df = pd.read_csv("/dbfs/FileStore/NJ/file1.txt", header='infer') 
print(pandas_df)
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐