Python 将CSV从AWS S3实例导入Numpy
我一直在尝试将一个csv文件从AWS S3直接读取到numpy。我用过:Python 将CSV从AWS S3实例导入Numpy,python,amazon-web-services,numpy,csv,amazon-s3,Python,Amazon Web Services,Numpy,Csv,Amazon S3,我一直在尝试将一个csv文件从AWS S3直接读取到numpy。我用过: s3 = boto3.client(service_name = 's3') def s3_read(filename): s3_obj = s3.get_object(Bucket = 'bucket-name', Key = filename) body = s3_obj['Body'] return body.read() 试图提取数据,但我遇到了来自AWS的格式化问题,我不知道如何处理
s3 = boto3.client(service_name = 's3')
def s3_read(filename):
s3_obj = s3.get_object(Bucket = 'bucket-name', Key = filename)
body = s3_obj['Body']
return body.read()
试图提取数据,但我遇到了来自AWS的格式化问题,我不知道如何处理
当我打印出从中返回的数据时,数据前有一个奇怪的标题:
b{\n“名称”:“文件名”、\n“数据”:{\n“类型”:“缓冲区”\n“数据:[\n 114、\n 97、…]}}
所以有一堆\n和奇怪的标题。这是否与我将文件上载到AWS的方式有关,或者是我在读取文件时弄乱了什么?body.read()
返回字节
import json
j = json.loads(s3_obj['Body'].read().decode('utf-8'))
decode
将字节转换为字符串,json.loads
将字符串解析为字典