我的要求是生成csv文件并附加到Amazon S3中的文件。我能够使用循环来做到这一点。我的代码是这样的。
import csv
import random
import simples3
from simples3 import S3Bucket
quantity=['12','5','13','2','7','6','4','9','15','21','33','62','54','18','26','1']
unitPrice=['1$','2$','3$','4$','5$','6$','7$','8$','9$','10$']
loop= [10]
myfile = open('testcsv.csv', 'ab')
s = S3Bucket('bucket_name',access_key='access_key',secret_key='secret_key')
for a in range(10):
writing=(random.choice(quantity),random.choice(unitPrice))
wr =csv.writer(myfile)
wr.writerow(writing)
loop.append(writing)
myfile.close()
print loop
pls = str(loop)
s.put("testconnection.csv",pls,mimetype="text/plain")
现在我想在我的循环中写入桶文件,就像我在本地文件系统中为文件所做的那样。我没有在S3Bucket中获取足够的方法来附加到文件,并且每次循环执行时put
都会覆盖文件的内容。请帮助我,我是Python和Amazon S3世界的新手。提前谢谢。
答案 0 :(得分:1)
无法附加到现有S3对象。您必须上传整个内容并替换旧对象。