【问题标题】:How to get the files with a prefix in Pyspark from s3 bucket?如何从 s3 存储桶中获取 Pyspark 中带有前缀的文件?
【发布时间】:2021-06-15 11:14:02
【问题描述】:

我的 s3 中有不同的文件。现在我想获取以 cop_ 开头的文件。为了实现这一点,我尝试了以下方法:-

source = s3-path
files = [filename for filename in dbutils.fs.ls(source) if filename.startswith('cop_ ')]
print(files)

尝试后出现如下错误:-

AttributeError: 'FileInfo' object has no attribute 'startswith'

S3 文件夹的文件名如下:-

cop_new.csv
public_new.csv
cop_old.csv
public_old.csv

异常输出:-

[cop_new.csv,cop_old.csv]

【问题讨论】:

  • 你能试试filename.name.startswith('cop_ ')吗?

标签: csv file amazon-s3 pyspark


【解决方案1】:

您在调用 .startswith() 时引用的是 FileInfo 对象,而不是字符串。

文件名是FileInfo 对象的属性,所以filename.name.startswith('cop_ ') 应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-02
    • 2021-02-22
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多