gpt4 book ai didi

python - 使用python复制CSV文件的一列并将其添加到另一个文件

转载 作者:行者123 更新时间:2023-11-28 20:47:34 35 4
gpt4 key购买 nike

我有两个文件,第一个叫做 book1.csv,看起来像这样:

 header1,header2,header3,header4,header5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5

第二个文件名为 book2.csv,如下所示:

 header1,header2,header3,header4,header5
1,2,3,4
1,2,3,4
1,2,3,4

我的目标是将 book1.csv 中包含 5 的列复制到 book2.csv 中的相应列。

我的代码的问题似乎是它没有正确附加,也没有只选择我想要复制的索引。它还给出了一个错误,我选择了一个不正确的索引位置。输出结果如下:

 header1,header2,header3,header4,header5
1,2,3,4
1,2,3,4
1,2,3,41,2,3,4,5

这是我的代码:

 import csv

with open('C:/Users/SAM/Desktop/book2.csv','a') as csvout:
write=csv.writer(csvout, delimiter=',')
with open('C:/Users/SAM/Desktop/book1.csv','rb') as csvfile1:
read=csv.reader(csvfile1, delimiter=',')
header=next(read)
for row in read:
row[5]=write.writerow(row)

我应该怎么做才能正确附加它?

感谢您的帮助!

最佳答案

像这样的事情呢?我读了两本书,将 book1 的最后一个元素附加到 book2 行中的每一行,我将其存储在列表中。然后我将该列表的内容写入一个新的 .csv 文件。

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)

关于python - 使用python复制CSV文件的一列并将其添加到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597099/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com