PySpark 可以处理 os.walk 以遍历子文件夹吗?
Can PySpark Handle os.walk to Iterate Through Sub-Folders?
我测试了几个代码示例,这些示例列出了特定文件夹中的所有文件(如下)。但是,没有人可以处理使用通配符遍历子文件夹。
第一次尝试:
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。谢谢!
是的,先生
它确实迭代...
import os
EXT = 'File_Name'
PATH = 'Path_Name'
for subdir, dirs, files in os.walk(PATH):
for filename in files:
filepath = subdir + os.sep + filename
if filepath.endswith(EXT):
print (filepath)
请检查缩进
我测试了几个代码示例,这些示例列出了特定文件夹中的所有文件(如下)。但是,没有人可以处理使用通配符遍历子文件夹。
第一次尝试:
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。谢谢!
是的,先生 它确实迭代...
import os
EXT = 'File_Name'
PATH = 'Path_Name'
for subdir, dirs, files in os.walk(PATH):
for filename in files:
filepath = subdir + os.sep + filename
if filepath.endswith(EXT):
print (filepath)
请检查缩进