簡體   English   中英

從 s3 存儲桶中讀取與 python 中的模式匹配的文件

[英]Read files from s3 bucket that match a pattern in python

我正在從 pandas 中的 s3 讀取一個文件。

aws_credentials = { 
                    "key": "xxxx", 
                    "secret": "xxxx" 
                  }

# Read data from S3 
df_aln = pd.read_csv("s3://dir/ABC/fname_0521.csv", storage_options=aws_credentials, encoding='latin-1')

但是,我有幾個具有相同形狀和相似命名約定的文件fname_mmyy 如何讀取所有匹配命名模式的文件並將它們組合成一個 pandas DataFrame?

我寧願不寫pd.read_csv來分別讀取每個文件。

根據這個答案: https://stackoverflow.com/a/69568591/687896 ,你可以在 S3 上使用 glob。 您的模式類似於fname_*.csv

# get the list of CSV files (from cited answer):
import s3fs
s3 = s3fs.S3FileSystem(anon=False)
csvs = s3.glob('your/s3/path/to/fname*.csv')

# read them into pandas + concat the dfs
dfs = []
for csv in csvs:
    df = pandas.read_csv(csv)
    dfs.append(df)

df = pandas.concat(dfs)

那(或類似的東西)應該有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM