【发布时间】:2020-11-30 16:59:39
【问题描述】:
- 我需要从文件夹中找到 csv 文件
- 列出文件夹内的所有文件
- 将文件转换为json并保存在同一个桶中
csv文件,像下面这么多csv文件
emp_id,Name,Company
10,Aka,TCS
11,VeI,TCS
代码如下
import boto3
import pandas as pd
def lambda_handler(event, context):
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('testfolder')
for file in my_bucket.objects.all():
print(file.key)
for csv_f in file.key:
with open(f'{csv_f.replace(".csv", ".json")}', "w") as f:
pd.read_csv(csv_f).to_json(f, orient='index')
如果您删除存储桶名称将无法保存,它将保存在文件夹中。如何保存回存储桶名称
【问题讨论】:
-
嗨。您能提供输入 csv 文件/数据的示例吗?
-
@Marcin 我给了
-
任何错误信息?
-
从代码看来是保存在本地磁盘上,需要调用函数上传到s3,类似于
s3.upload_file(f.name, bucket_name, object_name)。 -
boto3.amazonaws.com/v1/documentation/api/latest/guide/… 仔细检查文件、存储桶和对象名称
标签: python amazon-web-services amazon-s3 aws-lambda