【发布时间】:2019-10-11 15:32:03
【问题描述】:
我测试了几个代码示例,这些示例列出了特定文件夹中的所有文件(如下)。但是,没有人可以使用通配符处理子文件夹的迭代。
第一次尝试:
import sys, os
root = "/dbfs/mnt/rawdata/2019/01/"+"01"+"/corp/"
path = os.path.join(root, "targetdirectory")
for path, subdirs, files in os.walk(root):
for name in files:
print(os.path.join(path, name))
第二次尝试:
import os
for root, dirs, files in os.walk("/dbfs/mnt/rawdata/2019/01/01/corp/"):
print(root)
print(dirs)
print(files)
因此,在此示例中,/01/01/ 代表 1 月 1 日(非常明显)。有没有办法一次性列出一月份的所有文件?我正在使用 Databricks 和 PySpark。谢谢!
【问题讨论】:
-
我看不出 pyspark 是如何影响这一点的,但 os.walk 将遍历根路径的所有子文件夹。您只是将 january 的子文件夹用作 root,它永远不会“突破”根路径...如果您想要所有 1 月文件,请尝试使用“/dbfs/mnt/rawdata/2019/01/”作为 root /跨度>
-
啊啊啊!!当然!!!
-
为什么选择 Pyspark?这是一个简单的 Python 任务
标签: pyspark databricks