[英]Read multiple files from Databricks DBFS
我最近开始使用 Databricks python 笔记本,无法理解如何从 DBFS 读取多个.csv
文件,就像我之前在 Jupyter 笔记本中所做的那样。
我试过了:
path = r'dbfs:/FileStore/shared_uploads/path/'
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0, low_memory=False)
li.append(df)
data = pd.concat(li, axis=0, ignore_index=True)
此代码在 Jupyter 笔记本中运行良好,但在 Databricks 中,我收到此错误: ValueError: No objects to concatenate
我可以使用df = pd.read_csv('dbfs_path/filename.csv')
到达此路径中的一个文件
谢谢!
您需要将path
更改为r'/dbfs/FileStore/shared_uploads/path/'
glob
function 将与附加到驱动程序的原始文件系统一起使用,并且不知道dbfs:
是什么意思。
另外,既然你正在组合很多 csv 文件,为什么不直接用 spark 读取它们:
path = r'dbfs:/FileStore/shared_uploads/path/*.csv'
df = spark.read.csv(path)
在读取 DBFS 位置时,我们应该像这样读取dbutils
命令。
files = dbutils.fs.ls('/FileStore/shared_uploads/path/')
li = []
for fi in files:
print(fi.path)
<your logic here>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.