我在aws lambda
中尝试这个。当出现异常时,打印消息e。(参考以下代码)
但是没有异常消息。所以我不知道问题出在哪里。
import boto3
import gzip
import pandas as pd
s3 = boto3.resource('s3')
response = s3.Object(bucket, 'test.gzip')
try:
with gzip.GzipFile(fileobj=response.get()["Body"], mode='rb') as gzipfile:
print(f'gzipfile : {gzipfile}')
# gzipfile : <gzip botocore.response.StreamingBody object as 0x7fcffd362250 0x7fcffd3d00d0>
# df = pd.read_json(content.read(), lines=True)
# df = pd.read_json(content, lines=True)
except Exception as e:
print(e)
,
df = pd.read_json(response.get()["Body"], lines=Truem compression='gzip')
,
我尝试了以上代码。
在所有尝试中,程序要么在指定的Lambda时间(10分钟)内没有结果,要么没有异常消息。
我如何从s3读取json gzip
并使其成为pandas数据框架?
我这样使用gzip:
obj =boto3.resource('s3').Object(bucket, key)
data = gzip.decompress(obj.get()['Body'].read())
df = pd.dataframe(data)