逐行写csv

时间:2018-12-13 12:52:19

标签: python csv file-writing

我有一个列表列表示例: list_of_lists = [['name1','number1','comment1'],['name2','number2','comment2'],['name3','number3','comment3']]

我想将它们写入一个如下所示的csv文件中:

NAME  NUMBER  COMMENT
name1 number1 comment1
name2 number2 comment2
name3 number3 comment3

我尝试过:

rows = zip(*list_of_lists)
import csv
with open('new.csv', "w") as f:
    writer = csv.writer(f)
    for row in rows:
        writer.writerow(row)

但这写为:

name1    name2   name3
number1  number2 comment2
comment1 number3 comment3

如果我使用rows = zip(list_of_lists)而不是rows = zip(*list_of_lists),则会在csv中以字符串形式获取所有数据:

"name1, number1, comment1"
"name2, number2, comment2"
"name3, number3, comment3"

如何获得所需的结果?

1 个答案:

答案 0 :(得分:4)

您可以直接使用它们。

例如:

import csv

list_of_lists = [['name1', 'number1', 'comment1'], ['name2', 'number2', 'comment2'], ['name3', 'number3', 'comment3']]

with open(filename, "w") as f:
    writer = csv.writer(f)
    writer.writerow(["NAME", "NUMBER", "COMMENT"])
    for row in list_of_lists:
        writer.writerow(row)