我想从S3中读取一个csv文件,对它进行一些更改,并在那里重新部署该文件。我的所有代码都在lambda中,所以本地文件不可能存在。
我有代码可以读取csv并对其进行更改。我不知道如何将其放回。我的最终数据是一个列表列表,其中每个列表代表csv文件中的一行。
这是我的东西。
s3 = boto3.client('s3')
obj = s3.get_object(Bucket=bucket_name, Key=myKet)
data = obj['Body'].read().decode('utf-8')
spamreader = csv.reader(io.StringIO(data), delimiter=',')
existing_data = []
for row in spamreader:
existing_data.append(row)
# Add new data to it
existing_data.append([1,2,3])
如有任何帮助,我们将不胜感激。非常感谢。
能够这样做。
csv_buffer = io.StringIO()
for line in existing_data:
csv_buffer.write(','.join(line) + 'n')
s3.put_object(Bucket=bucket_name, Key=myKey, Body=csv_buffer.getvalue())