使用python将csv文件写入Amazon S3

时间:2014-08-21 06:38:11

标签: python amazon-s3

我的要求是生成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世界的新手。提前谢谢。

1 个答案:

答案 0 :(得分:1)

无法附加到现有S3对象。您必须上传整个内容并替换旧对象。