[英]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.