【发布时间】:2016-06-07 22:52:44
【问题描述】:
我在 Python 2.7 中尝试了不同的方法,我在这个论坛上看到了将特定列从 csv 文件复制到特定位置(列)的另一个 csv 文件。
csv1:
Header1 Header2 Header3 Header4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
csv2:
Header5 Header6 Header7
5 6 7
5 6 7
5 6 7
所以我想将 Header2 列复制到 Header6 列上,结果如下
csv2:
Header5 Header2 Header7
5 2 7
5 2 7
5 2 7
2
每个标题都在不同的单元格中。我尝试了以下方法(甚至制作了第三个文件)但没有成功:
with open('book1.csv', 'r') as book1:
with open('book2.csv', 'r') as book2:
reader1 = csv.reader(book1, delimiter=',')
reader2 = csv.reader(book2, delimiter=',')
both = []
fields = reader1.next() # read header row
reader2.next() # read and ignore header row
for row1, row2 in zip(reader1, reader2):
row2.append(row1[-1])
both.append(row2)
with open('output.csv', 'w') as output:
writer = csv.writer(output, delimiter=',')
writer.writerow(fields) # write a header row
writer.writerows(both)
有什么想法吗? :)
【问题讨论】: