boto s3 - 使用数组编写csv文件

时间:2018-03-13 06:24:42

标签: python csv amazon-s3 boto boto3

我想在不在本地系统上写文件的情况下将文件上传到s3,所以我使用的是boto库的set_contents_from_string。我可以将此文件上传回s3。

但是如何使用boto库将数组写入csv文件。

arrlist = [[2, 'jack'], [3, 'john'], [4, 'robert']]
file_name = "test.csv" 
k = Key(bucket, file_name)
k.set_contents_from_string(arrlist)

它不接受数组,任何帮助我怎么能实现这个?

1 个答案:

答案 0 :(得分:0)

首先,将数组转换为多行字符串。

arrlist = [[2, 'jack'], [3, 'john'], [4, 'robert']]

i = 0
multiLine = ""

for item in arrlist:
    newLine = ','.join(map(str, item))

    if (i > 0) {
        multiLine = multiLine + '\n'
    }
    multiLine = multiLine + newLine
    i++

file_name = "test.csv" 
k = Key(bucket, file_name)
k.set_contents_from_string(multiLine)

写入文件的输出multiLine将如下:

2,jack
3,john
4,robert

希望这有帮助!