繁体   English   中英

Python从s3存储桶读取文件

[英]Python read files from s3 bucket

我想将 .csv 和 text.txt 文件作为我的函数的两个输入读取,而不显式传递文件名,因为我将有多个 csv 和文本并喜欢循环它们。下面是我的代码用过的

s3 = boto3.resource('s3')

bucket = s3.Bucket('textractpipelinestack-documentsbucket9ec9deb9-1rm7fo8ds7m69')

for obj in bucket.objects.all():
    key = obj.key
    body = obj.get()['Body'].read()
    print(key)

打印(键)给了我文件的名称,但我不知道如何读取它们以便将它们作为输入传递。 csv”和“text.txt”。有人可以帮忙吗?..

在此处输入图片说明

以下内容将从 S3 存储桶中的任何 csv 或 txt 文件中读取文件内容。 您可以构建逻辑来捕获我创建打印语句的输入数据。

file_list = [f for f in bucket.objects.all() if f.key[-3:] == 'csv' or f.key[-3:] == 'txt']

for file in file_list:
    print(file.get()['Body'].read().decode(encoding="utf-8", errors="ignore"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM