Как добавить данные в существующий CSV-файл в AWS S3, используя python boto3 - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть файл CSV в s3, но я должен добавлять данные в этот файл всякий раз, когда я вызываю функцию, но я не могу этого сделать,

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)

Этот код напрямую заменяет данные внутри файла вместо добавления, какое-либо решение?

1 Ответ

2 голосов
/ 27 апреля 2020

s3 не имеет функции добавления. Вам нужно прочитать файл из s3, добавить данные в свой код, а затем загрузить весь файл в тот же ключ в s3.

Проверить эту ветку на форуме 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
# overwrite
s3_client.put_object(Body=appended_data, Bucket='recengine', Key=file_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...