我有 4 個不同的資料框,我現在將它們存盤在 S3 的存盤桶中。我可以一個一個地手動完成,但我想通過只運行一次代碼來存盤所有 4 個資料幀。
csv_buffer = StringIO()
data_frame.to_csv(csv_buffer)
s3_resource = boto3.resource('s3')
s3_resource.Object(S3_BUCKET_NAME,'bucket_name/file_name.csv').put(Body=csv_buffer.getvalue())
這就是我現在所擁有的。正如我所提到的,它有效,但我必須一一做。
uj5u.com熱心網友回復:
您可以使用 4 個資料框創建一個串列,然后對其進行迭代:
import boto3
from io import StringIO
def write_dataframe_to_csv_on_s3(dataframe, filename, S3_BUCKET_NAME):
csv_buffer = StringIO()
dataframe.to_csv(csv_buffer)
s3_resource = boto3.resource("s3")
s3_resource.Object(S3_BUCKET_NAME, filename).put(Body=csv_buffer.getvalue())
dataframeList = [df1, df2, df3, df4]
filenameList = ['df1_filename.csv', 'df2_filename.csv', 'df3_filename.csv', 'df4_filename.csv']
for df, filename in zip(dataframeList, filenameList):
write_dataframe_to_csv_on_s3(df, filename, S3_BUCKET_NAME)
做這樣的事情怎么樣?這可以在你的情況下作業嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532819.html
