【发布时间】:2019-05-22 04:44:29
【问题描述】:
我有获取 AWS S3 对象的代码。如何使用 Python 的 csv.DictReader 读取这个 StreamingBody?
import boto3, csv
session = boto3.session.Session(aws_access_key_id=<>, aws_secret_access_key=<>, region_name=<>)
s3_resource = session.resource('s3')
s3_object = s3_resource.Object(<bucket>, <key>)
streaming_body = s3_object.get()['Body']
#csv.DictReader(???)
【问题讨论】:
-
csv.DictReader(streaming_body)? -
csv.DictReader(streaming_body)返回错误“TypeError: argument 1 must be an iterator”。在传递它之前运行 read() 和 decode() (我不想这样做,因为这会将整个文件加载到内存中)分别从文件中返回每个字符。
标签: python csv amazon-web-services amazon-s3