如何写入 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)
我正在将列表中的数据写入 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)