【发布时间】:2018-07-09 17:03:29
【问题描述】:
我在 S3 中有一个大的 csv 文件,我将它与 S3 中的另一个 csv 文件连接起来。我在 python 中使用 pandas 数据框在 AWS lambda 中执行此操作。我还必须使用相同的 lambda 在 S3 中将连接的数据帧保存为 xlsx 格式。有没有办法做到这一点?
import pandas as pd
import os
import boto3
df1 =pd.read_csv("file1.csv",header=None,lineterminator='\n',sep='\t', error_bad_lines=False, encoding='ISO-8859-1') # file is in s3.
df2 = pd.read_csv("file2.csv",sep='\t',header=None)
df3 = pd.concat([df2,df1])
我想将 df3 对象中的结果保存为 s3 中的 excel 文件。
注意:我已经尝试过 df.to_excel()。但由于我需要将其直接保存到 s3,所以它不起作用。
【问题讨论】:
-
你试过
df.to_excel吗? -
是的,df.to_excel 接受一个需要文件路径的 ExcelWriter 对象。我已经将存储在 s3 中的文件的路径放在了那里,但这不起作用。所以我不确定这是否是写作方式
-
我不确定你在期待什么。 documentation 表示它接受文件路径或现有的 ExcelWriter。为什么它可以与 s3 对象键一起使用?
-
我想直接保存到s3。转换 csv 并直接写入 s3 以节省处理时间。该文件将至少为 500MB
标签: python pandas amazon-s3 aws-lambda xlsx