首页 > 解决方案 > 如何使用 python 从 S3 存储桶中读取 .txt 文件并查看内容?

问题描述

data = s3client.get_object(Bucket='', Key='')
data1 = data['Body']

data2 = json.load(data1)
data2 = json_normalize(data=data2)
data2 = sor.explode('header.head')
data2 = data2.to_dict('records')
data2 = json_normalize(data2)

我正在使用上面的 json 文件代码来取消复杂的 jsons 并分析数据。我如何做同样的事情来流式传输文本文件并查看内容。

data = s3client.get_object(Bucket='', Key='')
data1 = data['Body']
with open(data1) as sample: 
    for line in sample: 
        print(line.rstrip()) 

我收到以下错误

TypeError: expected str, bytes or os.PathLike object, not StreamingBody

标签: pythonamazon-web-servicesamazon-s3

解决方案


通常,您会使用iter_linesiter_chunks。例如:

data = s3client.get_object(Bucket='', Key='')

for line in data['Body'].iter_lines(): 
    print(line) 

请注意,line将是bytes,不是str


推荐阅读