【发布时间】:2021-08-19 04:28:54
【问题描述】:
我想在 for 循环中将列表写入 csv 文件,并且每次都在不同的列中。 例如,第一次迭代我生成一个列表 = [1,2,3,4,5],第二次迭代我有一个列表 = [1,2,3]。我希望输出 .csv 看起来像:
col1. col2
---------------
1 1
2 2
3 3
4
5
我得到以下代码:
## open csv file
with open(pic_path + 'file.csv', "w+") as my_csv:
for loop:
(## do something.... and generate a list)
## write list as column to csv file
csvWriter = csv.writer(my_csv)
for val in list:
csvWriter.writerows([val])
输出看起来像这样:
col1
-----
1
2
3
4
5
1
2
3
上面所做的是它继续写入第一列,并且在下一次迭代时不会更改为新列。如何告诉python这样做?
【问题讨论】:
-
这可能超出了 Python CSV Writer 提供的范围,一种解决方法是读入 CSV 附加您的附加列并重新写入。 csv 并没有真正看到列,它看到带有值分隔符的行和换行符以开始新行...(或该格式的变体)这是一个类似的问题,其中包含各种黑客来实现您所要求的 @987654321 @