python-从s3存储桶读取csv时获取内容编码

时间:2020-10-16 15:09:30

标签: python amazon-s3

我正在尝试从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 >
}

如何获取编码信息?

0 个答案:

没有答案