如何使用boto3读取位于S3存储桶中的JSON文件?

7 浏览
0 Comments

如何使用boto3读取位于S3存储桶中的JSON文件?

我已经将一些json文件保存在s3存储桶中,我想使用boto3读取这些json文件的内容。

有人可以建议如何做吗?

0
0 Comments

如何使用boto3从S3存储桶中读取JSON文件?

在Stack Overflow上有一个类似的问题已经被回答过了。欢迎来到Stack Overflow,当你提问时需要附上你的示例代码,这表明你已经做了研究但没有找到有用的信息。请参考如何在Stack Overflow上提问好问题。

以下是使用boto3读取S3存储桶中JSON文件的示例代码:

import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('test-bucket')
# 遍历所有对象,进行分页处理
for obj in bucket.objects.all():
    key = obj.key
    body = obj.get()['Body'].read()

如果要从特定文件夹中读取文件,可以尝试以下代码:

import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('my_bucket_name')
# 使用前缀过滤特定文件夹下的对象
for object_summary in my_bucket.objects.filter(Prefix="dir_name/"):
    print(object_summary.key)

感谢M.Vanderlee的回答。

作者尝试了相同的方法,但出现了以下错误:Attribute Error:'str object has no attribute 'óbjects'。

请修改您的答案并展示您所尝试的代码。

作者已经找到了如何读取JSON文件的方法,感谢您的帮助。还有一个问题:如果我只想从存储桶中的特定文件夹读取JSON文件,该如何操作?

不用担心!你能接受我的回答吗?另外,在我定义了key的地方,你可以尝试使用obj.all。这应该可以工作。

嘿,我编辑了我的答案以满足你的新问题,请看看现在的答案。

0