python - 使用 PySpark 从名称不包含字符串的文件夹中读取文件

标签 python regex pyspark glob

我有一个文件夹,其中包含类似于 - 的文件

./env_california_0100.xml
./env_california_0200.xml
./env_california_0300.xml
./env_california_0400.xml
./env_0100.xml
./env_0200.xml
./env_0300.xml
./env_0400.xml

使用pyspark,如果我想读取名称包含字符串“california”的文件,那么我会使用

df=spark.read.format("com.databricks.spark.xml").option("rowTag","someTag").load("/some_folder/*california*.xml")

但是如何读取没有字符串“california”的文件?

最佳答案

使用 glob 提取文件列表,然后在加载调用中解压该列表:

   .load(*glob.glob( "/some_folder/*[!california]*.xml"))

因为我们可以像这样加载多个文件:.load(path1,path2,....)

关于python - 使用 PySpark 从名称不包含字符串的文件夹中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272849/

相关文章:

python - (psycopg2.OperationalError)无法连接到服务器:连接被拒绝是服务器

python - 如何在 html 页面中添加 flask 自动索引

python - 根据另一列减去某个 pandas 数据框列的最小值

C# 正则表达式 : returning a collection of results

java - android java正则表达式匹配除一个字符外的所有字符

python - 在 Pyspark 中使用 UDF 函数时,密集向量应该是什么类型?

pyspark - AWS EMR 集群中的 session 不处于事件状态 Pyspark

python - 寻找ctypes unicode处理的 "Hello World"(包括Python和C代码)

javascript - JavaScript 中的正则表达式

Python Spark - 如何创建一个新列,对数据帧上的现有列进行切片?