【发布时间】:2016-09-10 12:13:43
【问题描述】:
我正在寻找一个脚本来通过 python 将一个新的数据列添加到现有的 csv 文件中。我有一个文件(例如 file.csv),它将有很多行和很少的列。通过for loop 计算,我得到了一个新数组(我的代码中的 A 在这里)。我想将该新数组 (A) 附加为现有 csv 文件的最后一列。我使用了下面的代码。
for xxx in xxxx:
A= xxx
f=open("file.csv")
data=[item for item in csv.reader(f)]
f.close()
new_column=[A]
new_data=[]
for i, item in enumerate (data):
try:
item.append (new_column[i])
except IndexError, e:
item.append(A)
new_data.append(item)
f=open('outfilefinal1.csv','w')
csv.writer(f).writerows(new_data)
f.close()
它确实添加了一个新列作为最后一列。但问题是整个列都有一个相同的值(来自最后一个循环的值)。那么,如果我希望每个 for 循环中的 A 值作为我的最后一列,我该怎么办。谢谢。
示例输入文件
1 2
2 4
0 9
4 8
每个循环的一个值
3
4
0
9
所以最终文件应该显示
1 2 3
2 4 4
0 9 0
4 8 9
但在我的情况下,它显示为
1 2 9
2 4 9
0 9 9
4 8 9
【问题讨论】:
标签: python csv append multiple-columns