当前位置: 首页 > 知识库问答 >
问题:

将Dataframe直接保存到csv到s3 Python

田谦
2023-03-14

我有一个熊猫的数据文件,我想上传到一个新的CSV文件。问题是我不想在将文件转移到S3之前将其保存在本地。是否有类似于to_csv的方法可以直接将数据文件写入s3?我使用的是boto3。
以下是我目前所拥有的:

import boto3
s3 = boto3.client('s3', aws_access_key_id='key', aws_secret_access_key='secret_key')
read_file = s3.get_object(Bucket, Key)
df = pd.read_csv(read_file['Body'])

# Make alterations to DataFrame

# Then export DataFrame to CSV through direct transfer to s3

共有1个答案

邵修诚
2023-03-14

您可以使用:

from io import StringIO # python3; python2: BytesIO 
import boto3

bucket = 'my_bucket_name' # already created on S3
csv_buffer = StringIO()
df.to_csv(csv_buffer)
s3_resource = boto3.resource('s3')
s3_resource.Object(bucket, 'df.csv').put(Body=csv_buffer.getvalue())
 类似资料:
  • 问题内容: 我有一个熊猫DataFrame,我想上传到新的CSV文件。问题是在将文件传输到s3之前,我不想在本地保存文件。是否有像to_csv这样的方法可以将数据帧直接写入s3?我正在使用boto3。 这是我到目前为止的内容: 问题答案: 您可以使用:

  • 是否可以将火花中的直接保存到Hive? 我尝试过将数据帧转换为Rdd,然后保存为文本文件,然后加载到hive中。但我想知道是否可以直接将数据帧保存到hive

  • 我想将spark dataframe的内容保存到s3 bucket中的csv文件中: 它创建名为:part-00000-fc644e84-7579-48的文件的问题。 有没有办法修复这个文件的名字。例如test.csv? 谢谢 最佳

  • 我用的是Flink 1.4.0 我正在尝试将Table API查询的结果保存到CSV文件,但我收到错误。以下是详细信息: 我的输入文件如下所示: 我对此运行查询以仅选择犬类,我想将其保存到csv文件中: 当我运行此命令时,我看到数据集的结果被输出: 犬科动物,2 然而,我在输出文件中没有得到任何结果,我在下面看到了这些错误。我能做些什么来解决这个问题?谢谢

  • 问题内容: 我有一个719mb的CSV文件,看起来像: 我想加载到熊猫DataFrame中。现在我知道csv方法有负载: 但我特别想将其加载为“ MultiIndex” DataFrame,其中from和to是索引: 所以最后以: 等等。我不确定该怎么做? 问题答案: 您可以使用: 我曾经摆脱标题行中那些烦人的空格的地方。

  • 问题内容: 在ipython Notebook中,首先创建一个pandas Series对象,然后通过调用实例方法.hist(),浏览器将显示该图。 我想知道如何将该图形保存到文件中(不是通过右键单击另存为,而是脚本中所需的命令)。 问题答案: 使用方法,如下所示: 它不必以结尾结尾,有很多选择。查看文档。 或者,您可以使用该接口,并仅作为函数调用来保存最近创建的图形: