下面是一个示例代码,演示如何比较两个CSV文件并更新匹配的值:
import csv
def compare_and_update(csv_file1, csv_file2):
# 读取CSV文件1的数据
data1 = []
with open(csv_file1, 'r') as file1:
reader1 = csv.reader(file1)
for row in reader1:
data1.append(row)
# 读取CSV文件2的数据
data2 = []
with open(csv_file2, 'r') as file2:
reader2 = csv.reader(file2)
for row in reader2:
data2.append(row)
# 比较并更新匹配的值
for i in range(len(data1)):
for j in range(len(data2)):
if data1[i][0] == data2[j][0]: # 假设要比较的值在每行的第一个列
data1[i][1] = data2[j][1] # 假设要更新的值在每行的第二个列
# 将更新后的数据写回CSV文件1
with open(csv_file1, 'w', newline='') as file1:
writer1 = csv.writer(file1)
writer1.writerows(data1)
# 示例用法
compare_and_update('file1.csv', 'file2.csv')
上述代码将读取两个CSV文件的数据,然后通过嵌套循环比较每个值,并将匹配的值从第二个文件更新到第一个文件。最后,将更新后的数据写回到第一个CSV文件中。
请注意,此示例假设CSV文件的数据以逗号分隔,并且要比较的值位于每行的第一个列,要更新的值位于每行的第二个列。您可以根据实际情况进行相应的修改。