如何在Python中写入连续的CSV列

时间:2015-01-25 23:01:10

标签: python csv

我正在将列表中的数据写入csv文件,如下所示:

def writeToCsv(list, max):
    writer = csv.writer(open('file.csv', 'wb'), delimiter=' ')
    for x in range(0,max):
        writer.writerow(list[x]['year'])

这填补了第一栏的年份,这是伟大的。现在我想用列表中的'name'填充下一列。如何再次运行上面的代码,但是填写下一列而不是用'name'写第一列?

1 个答案:

答案 0 :(得分:1)

只需列出writerow

def writeToCsv(list, max):
    writer = csv.writer(open('file.csv', 'wb'), delimiter=' ')
    for x in range(0,max):
        writer.writerow([list[x]['year'], list[x]['name']])

请注意,您可以这样做:

def writeToCsv(lst, limit):
    # use a context manager to close the file for you when you're done
    with open('file.csv', 'wb') as f:
        writer = csv.writer(f, delimiter=' ')
        # takes the first `max` dictionaries from the list
        for item in lst[:limit]:
            writer.writerow([item['year'], item['name']])

这是使用slicingwith上下文管理器。

注意:我已更改了函数参数的名称,因此您不会忽略内置函数listmax。 (感谢@Padraic Cunningham)