Python 以 csv 格式写入文件,行写入有问题

Python file write in csv, problem with row write

我正在尝试为无限循环编写一个包含一组 4 个值(4 列)的 csv。我创建了一个测试代码来尝试这个,但是当我 运行 代码时,我在 csv 中得到的值是错误的。

import csv 

fields = ['Number1', 'Number2', 'Number3', 'Number4'] 

filename = "test.csv"

with open(filename, 'w') as csvfile: 
  csvwriter = csv.writer(csvfile) 
  csvwriter.writerow(fields) 
  for i in range(10):
    rows=[]
    for o in range(4):
      rows.append(str(o))
    csvwriter.writerows(rows)

我在 csv 中得到的值是:

Number1,Number2,Number3,Number4
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3

我的代码有什么问题,或者我应该修改什么来解决这个问题?

您在循环内调用 writerows 而不是 writerow。这告诉 python 将可迭代对象写成多行。