我正在尝试从s3存储桶中读取csv文件,并将其放入pandas数据框。 这些csv文件可能有不同的编码类型,我可能以前都不知道。
这是我的代码:
obj = s3c.get_object(Bucket= BUCKET_NAME , Key = KEY)
print(obj)
content = io.BytesIO(obj['Body'].read())
df_s3_file = pd.read_csv(content)
对于某些文件,我得到utf-8错误,无法读取该文件。
在文档中:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html 我看到函数 get_object 返回了一个带有'ContentEncoding'的字典,在这里我可以清楚地找到编码。
但是,对我而言,我在答复中没有看到这一点。
这就是我得到的:
{
'ResponseMetadata': {
'RequestId': '',
'HostId': '',
'HTTPStatusCode': 200,
'HTTPHeaders': {
'x-amz-id-2': '',
'x-amz-request-id': '',
'date': '',
'last-modified': '',
'etag': '',
'x-amz-version-id': '',
'accept-ranges': '',
'content-type': '',
'content-length': '',
'server': 'AmazonS3'
},
'RetryAttempts': 1
},
'AcceptRanges': '',
'LastModified': ,
'ContentLength': ,
'ETag': '',
'VersionId': '',
'ContentType': '',
'Metadata': {},
'Body': < botocore.response.StreamingBody object at 0x18B572E0 >
}
如何获取编码信息?