相关文章推荐
有情有义的馒头  ·  setLineWrapMode 是 ...·  5 月前    · 
玩篮球的灯泡  ·  c++ pdf reader ...·  8 月前    · 

如何使用python boto3将数据追加到AWS S3中的现有csv文件中?

2 人关注

我在s3里有一个csv文件,但每当我调用该函数时,我必须将数据追加到该文件,但我无法做到这一点。

df = pd.DataFrame(data_list)
bytes_to_write = df.to_csv(None, header=None, index=False).encode()
file_name = "Words/word_dictionary.csv" # Not working the below line
s3_client.put_object(Body=bytes_to_write, Bucket='recengine', Key=file_name)

这段代码是直接替换文件中的数据,而不是追加,有什么解决办法吗?

python
amazon-s3
boto3
VENKATA KRISHNA REDDY PERAM
VENKATA KRISHNA REDDY PERAM
发布于 2020-04-27
2 个回答
rdas
rdas
发布于 2021-09-20
已采纳
0 人赞同

s3 没有追加功能。你需要从s3读取文件,在你的代码中追加数据,然后将完整的文件上传到s3的同一键。

Check this 在AWS论坛上的主题 详细信息

代码可能会看起来像。

df = pd.DataFrame(data_list)
bytes_to_write = df.to_csv(None, header=None, index=False).encode()
file_name = "Words/word_dictionary.csv"
# get the existing file
curent_data = s3_client.get_object(Bucket='recengine', Key=file_name)
# append
appended_data = current_data + bytes_to_write