我刚刚开始学习和使用S3,请阅读文档。实际上,我没有找到任何东西可以将文件提取到对象中,而不是从S3下载?如果这是可能的,或者我错过了什么?
实际上,我想在下载文件后避免额外的IO。
最佳答案
您可以使用StringIO
并使用get_contents_as_string
从S3获取文件内容,如下所示:
import pandas as pd
import StringIO
from boto.s3.connection import S3Connection
AWS_KEY = 'XXXXXXDDDDDD'
AWS_SECRET = 'pweqory83743rywiuedq'
aws_connection = S3Connection(AWS_KEY, AWS_SECRET)
bucket = aws_connection.get_bucket('YOUR_BUCKET')
fileName = "test.csv"
content = bucket.get_key(fileName).get_contents_as_string()
reader = pd.read_csv(StringIO.StringIO(content))
关于python-2.7 - 检索S3文件作为对象,而不是下载到绝对系统路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087203/