【发布时间】:2020-01-23 16:10:27
【问题描述】:
我在数据湖上有多个 csv 文件。我可以连接到数据湖,甚至可以列出文件。但我需要将这些文件放在一个数据框中,这样我就可以将这个数据框加载到 SQL 中。加载到 SQL 也没有问题。 问题是只有 datalakefolder 中最后一个文件的内容被读取和写入 SQL(因此也在数据帧中)。可能是因为数据帧每次都被覆盖。但我不知道如何在每个周期将数据附加到数据帧 这是我使用的代码:
for file in dayfolders.collect():
filename = file.name
pathname = file.path
tablename = "Obelix"
if filename.endswith(".csv"):
df = spark.read.format("csv")\
.option("inferschema", "true")\
.option("header","true")\
.load(file.path)
continue
else:
continue
如果我将语句 print(filename) 直接放在 for 语句之后,我可以看到它循环遍历三个文件。所有文件单独处理就好了
【问题讨论】:
标签: python dataframe databricks