如何将熊猫数据框写入Databricks dbfs / FileStore?

时间:2019-12-19 20:53:32

标签: python pandas dataframe amazon-s3 databricks

enter image description here enter image description here我是Databrick的新手,需要帮助将pandas数据帧写入databricks本地文件系统。

我确实在Google中进行了搜索,但没有找到与此类似的任何情况,还尝试了由databricks提供的帮助guid(附加),但是那也不起作用。尝试进行以下更改以找到运气,命令运行正常,但文件未写入目录中(预期会创建wrtdftodbfs.txt文件)

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

结果:引发以下错误

  

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

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

结果:没有错误,但是也没有写任何东西

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

结果:没有错误,但是也没有写任何东西

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

结果:TypeError:to_csv()获得了意外的关键字参数'path'

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

结果:没有错误,但是也没有写任何东西

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

结果:没有错误,但是也没有写任何东西

该目录存在,并且手动创建的文件显示出来,但是to_csv的熊猫从不写入也不出错。

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

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

输出[186]:[FileInfo(path ='dbfs:/dbfs/FileStore/NJ/tst.txt',   名称='tst.txt',大小= 35)]

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

2 个答案:

答案 0 :(得分:1)

在笔记本数据砖中尝试一下:

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)

答案 1 :(得分:1)

这对我有用:

outname = 'pre-processed.csv'
outdir = '/dbfs/FileStore/'
dfPandas.to_csv(outdir+outname, index=False, encoding="utf-8")

要下载文件:

https://community.cloud.databricks.com/files/pre-processed.csv?o=189989883924552#

(您需要编辑您的家庭网址,对我来说是

https://community.cloud.databricks.com/?o=189989883924552#

dbfs file explorer