我想创建一个 csv 文件,如下所示,其中 2 个列标题为“Y1”和“Y2”
Y1 Y2
i1 z1
i2 z2
i3 z3
我开发的代码如下:
with open(r"./file.csv", "a") as f1:
writer = csv.writer(f1, delimiter="\t", lineterminator="\n")
row = []
row_1 = []
for i in test_data["data"][1]:
row.append(i)
for z in test_results:
row_1.append(z)
writer.writerow([row, row_1])
我只获取行,而不获取不同列中的 i 和 z。如何写入 csv 并在 2 个不同的列中获得彼此相邻的 i 和 z
最佳答案
此处的“zip”组合了两个列表,因此该行是一个 2 元组,每一元组包含一列。这正是 writerrow 想要的。
with open(r'./file.csv','a') as f1:
writer=csv.writer(f1, delimiter='\t',lineterminator='\n',)
for row in zip(test_data['data'][1], test_results):
writer.writerow(row)
您甚至可以一次性完成:
with open(r'./file.csv','a') as f1:
writer=csv.writer(f1, delimiter='\t',lineterminator='\n',)
writer.writerows( zip(test_data['data'][1], test_results) )
注意“writerows”而不是“writerow”。
关于python - 从 For 循环输出中逐列写入 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73720654/