如何写入 Python 中的连续 CSV 列

How to write to consecutive CSV columns in Python

我正在将列表中的数据写入 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' 覆盖第一列?

给个列表给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']])

这正在使用 slicing and the with 上下文管理器。

注意: 我已经更改了函数参数的名称,这样您就不会隐藏内置函数 list and max。 (感谢@Padraic Cunningham)