熊猫(v1.0.5)使用s3fs
用于连接 AWS S3 并读取数据的库。默认情况下,s3fs 使用在以下位置找到的凭据~/.aws/credentials
文件输入default
轮廓。如何指定 pandas 在从 S3 读取 CSV 时应使用哪个配置文件?
Eg.
s3_path = 's3://mybucket/myfile.csv'
df = pd.read_csv(s3_path)
$ cat ~/.aws/credentials
[default]
aws_access_key_id = ABCD
aws_secret_access_key = XXXX
[profile2]
aws_access_key_id = PQRS
aws_secret_access_key = YYYY
[profile3]
aws_access_key_id = XYZW
aws_secret_access_key = ZZZZ
Edit :
当前的黑客/工作解决方案:
import botocore
import s3fs
session = botocore.session.Session(profile='profile2')
s3 = s3fs.core.S3FileSystem(anon=False, session=session)
df = pd.read_csv( s3.open(path_to_s3_csv) )
上述解决方案的唯一问题是您需要导入 2 个不同的库并实例化 2 个对象。保持问题的开放性,看看是否有另一种更干净/简单的方法。
df = pd.read_csv(s3_path, storage_options=dict(profile='profile2'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)