我有一个函数,可以将excel文件读取到数据帧中,然后使用awswrangler api to_csv函数将该数据帧保存在s3存储桶中。excel文件包含从不同行和列开始的数据。
我的转换代码看起来像这样:
df = wr.s3.read_excel(
path = 's3://bucket/filepath/',
sheet_name = 'sheetname',
header = 5,
index_col = False).iloc[:, 3:]
wr.s3.to_csv(df, path = "s3://bucket/filepath/',
dataset = True,
filename_prefix = 'sheetname')
代码工作正常,但我有两个问题:
- 即使我指定了
index_col = False
,csv也会输出一个额外的索引列 - 文件csv输出名称附带了额外的序列号,我不想要。我只想要
sheetname.csv
之类的东西。我查看了文档,没有找到任何关于如何做到这一点的好线索
当前输出看起来有点像sheetname8f1e8wefdf15f4wgfe5fef46we54f.csv
您可以在path
参数中指定完整路径。您根本不需要使用filename_prefix
。使用filename_prefix
是在文件名中获得这些额外字符的原因。
此外,您可以通过设置index = False
来禁用输出中的索引。
wr.s3.to_csv(df, path = "s3://bucket/filepath/sheetname.csv",
index = False)