我试着为列表中的每一项写一行新的人名和年龄。如果列表中有3个人,我的CSV应该有3行2列,如下所示:
Joann 15
Maria 13
Peter 19
我的CSV显示1行6列,如下所示:
^{pr2}$这是我使用的代码。在
row_lines=[]
for i in list_people:
info = inspect.getmembers(i)
name = info[1]
row_lines.append(name)
age = info[2]
row_lines.append(age)
with open('test.csv', 'w') as csvFile:
writer=csv.writer(csvFile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL, lineterminator='\n')
writer.writerow(row_lines)
我需要做些什么更改,以便在循环的每次迭代中写入新行(针对列表中的每个人)?在
打开
csv
文件一次,每次迭代写一行,不需要这么多变量:或者使用生成器理解将
^{pr2}$for
循环完全替换为writerows
,这将更快:将每对姓名和年龄作为列表追加,然后使用
csv.writer
的writerows
方法:相关问题 更多 >
编程相关推荐