【发布时间】:2020-03-25 10:02:29
【问题描述】:
我在 S3 存储桶中有一些文件,我正在尝试以最快的方式读取它们。文件的格式是 gzip,里面有一个这样的多对象 json 文件:
{"id":"test1", "created":"2020-01-01", "lastUpdated":"2020-01-01T00:00:00.000Z"}
{"id":"test2", "created":"2020-01-01", "lastUpdated":"2020-01-01T00:00:00.000Z"}
我想要做的是加载 json 文件并读取每个对象并处理它。经过一番研究,这是唯一对我有用的代码
import json
import gzip
import boto3
from io import BytesIO
s3 = boto3.resource('s3')
bucket = s3.Bucket("my-bucket")
for obj in bucket.objects.filter(Prefix='my-prefix').all():
buffer = BytesIO(obj.get()['Body'].read())
gzipfile = gzip.GzipFile(fileobj=buffer)
for line in gzipfile:
json_object = json.loads(line)
# some stuff with the json_object
谁知道读取 json 对象的更好方法?
感谢您的帮助
【问题讨论】:
标签: python json amazon-web-services amazon-s3 gzip