我有一个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)
答案 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)