python - 使用 PySpark 从名称不包含字符串的文件夹中读取文件
问题描述
我有一个文件夹,其中的文件类似于 -
./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,....)
推荐阅读
- r - 带有可选过滤的 Shiny 中的反应性数据表
- amazon-web-services - 如何使用 S3 和 Namecheap 托管 SSL 静态站点?
- javascript - PHP & MySQL & JS 可编辑表不会更新记录
- git - 运行 git diff 时防止 /dev/null/ 转储
- php - array_search 具有两个属性的多维数组
- python - 有没有办法将两个数字加在一起创建一个两位数?
- c++ - C++11:将向量元素作为线程传递给线程函数
- audio - FFmpeg - 如何设置输出样本大小
- excel - Workbooks.Open 直到我的循环结束才真正打开文档?
- android - 如果我无法运行 `--update`,如何修复 Android 许可证?