将pandas数据帧作为压缩CSV直接写入Amazon s3 bucket?

2024-04-25 19:29:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在有一个脚本,它读取保存到s3的csv的现有版本,并将其与pandas数据框中的新行相结合,然后将其直接写回s3。

    try:
        csv_prev_content = str(s3_resource.Object('bucket-name', ticker_csv_file_name).get()['Body'].read(), 'utf8')
    except:
        csv_prev_content = ''

    csv_output = csv_prev_content + curr_df.to_csv(path_or_buf=None, header=False)
    s3_resource.Object('bucket-name', ticker_csv_file_name).put(Body=csv_output)

有没有一种方法可以做到这一点,但与gzip压缩csv?我想在s3上读取一个现有的.gz压缩csv(如果有),将其与数据帧的内容连接起来,然后直接在s3中用新的组合压缩csv覆盖.gz,而不必制作本地副本。


Tags: csv数据name脚本outputobjects3bucket