Python我想知道如何用for循环(DictWriter)进行写行

时间:2019-04-17 10:13:36

标签: python csv

我正在尝试使用DictWriter编写csv文件。 到目前为止,我已经创建了一个列表和一个循环,但是它仅写入列表的最后一行,即列表中有多少项的次数。 这是我的代码:

fieldnames = ['Code', 'Hight', 'Country']
with open('write.csv', 'w',newline="") as f:
  w = csv.DictWriter(f,fieldnames=fieldnames,delimiter = "\t")
  w.writeheader()
  for i in my_list:
    w.writerow({"Code":code,"Hight":hight,"Country":country})

2 个答案:

答案 0 :(得分:0)

您正在for循环的每次迭代中编写相同的变量。如果my_list是词典列表,则代码应为:

for i in my_list:
    w.writerow({"Code": i['code'], "Hight": i['hight'], "Country": i['country']})

如果my_list是列表列表,

for i in my_list:
    w.writerow({"Code": i[0], "Hight": i[1], "Country": i[2]})

答案 1 :(得分:0)

这可能对您有帮助

导入csv

nms = [[1、2、3、4、5、6],[7、8、9、10、11、12]]

f = open('numbers2.csv','w')

与f:

writer = csv.writer(f)

for row in nms:
    writer.writerow(row)