将python中的数组列表导出为csv

时间:2014-02-25 21:13:21

标签: python csv

我有一个python中的数组列表,我想导出到csv文件,我能够导出一个csv但是在换行时遇到了一些麻烦。我的列表如下所示:

myList = [[itema, itemb], [itema_1,itemb_1], ... , [itema_n, itemb_n]]

我希望我的csv文件是这样的:

itema, item
itema_1, item_1
...
itema_n, item_n

这是我当前的代码,它给了我([itema,itemb],[itema_1,itemb_1]等。)

with open('sng_pyout', 'wb') as output:
    new_writer = csv.writer(output)
    new_writer.writerow(myList)

3 个答案:

答案 0 :(得分:1)

看起来你只是告诉csv.writer写一行,因为对csv.writerow的每次调用都会写一行,包含你传入的所有内容。 代替:

with open('sng_pyout', 'wb') as output:
    new_writer = csv.writer(output)
    for sub_list in myList:
        new_writer.writerow(sub_list)

答案 1 :(得分:1)

使用writerows(复数!)方法一次写下所有行:

with open('sng_pyout', 'wb') as output:
    new_writer = csv.writer(output)
    new_writer.writerows(myList)

writerow(单数)采用列列表。由于你的myList是一个列表,它假设它是一个列列表,所以它引用了它的元素并写成了csv:

"['jack', ' 4']","['mike', ' 12']"

writerows(复数!)方法需要列表列表,这对您的myList非常适合。

答案 2 :(得分:0)

尝试如下:

with open('sng_pyout', 'wb') as output:
    new_writer = csv.writer(output)
    for row in myList:
        new_writer.writerow(row)