我的 s3 存储桶中有一个 csv 文件,并在本地计算机中配置了 aws cli。每当我调用 python 脚本时,我都想将数据附加到该 csv 文件中,但我无法做到这一点。
s3_client = boto3.client('s3')
df = pd.DataFrame(data_list)
bytes_to_write = df.to_csv(None, header=None, index=False).encode()
file_name = 'test.csv'
# get the existing file
current_data = s3_client.get_object(Bucket='test-bucket', Key=file_name)
# append
appended_data = current_data + bytes_to_write
# overwrite
s3_client.put_object(Body=appended_data, Bucket='test-bucket', Key=file_name)
enter code here
我已经尝试了上面的代码,但不幸的是无法完成操作,我收到以下错误
Traceback (most recent call last):
File "script.py", line 17, in <module>
appended_data = current_data + bytes_to_write
TypeError: unsupported operand type(s) for +: 'dict' and 'bytes'
有什么解决办法吗?请帮我!
current_data = s3_client.get_object(Bucket='test-bucket', Key=file_name)
如上所述这里,返回的get_object的字典
您可能正在寻找
s3_client.get_object(Bucket='test-bucket', Key=file_name)['Body'].read().decode("utf-8")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句