下面是一个Python的示例代码,用于比较CSV文件中的两列,如果它们匹配,则创建一个新列。
import csv
def compare_columns(csv_file, column1, column2, new_column):
# 打开CSV文件
with open(csv_file, 'r') as file:
# 读取CSV文件内容
reader = csv.DictReader(file)
# 获取CSV文件的列名
fieldnames = reader.fieldnames + [new_column]
# 创建一个新的CSV文件来存储结果
with open('output.csv', 'w', newline='') as output_file:
writer = csv.DictWriter(output_file, fieldnames=fieldnames)
writer.writeheader()
# 遍历CSV文件的每一行
for row in reader:
# 比较两列的值
if row[column1] == row[column2]:
# 如果匹配,则在新列中写入相应的值
row[new_column] = '匹配'
else:
# 如果不匹配,则在新列中写入相应的值
row[new_column] = '不匹配'
# 写入结果到新的CSV文件
writer.writerow(row)
# 示例用法
compare_columns('input.csv', '列1', '列2', '匹配结果')
在示例代码中,compare_columns
函数接受CSV文件路径、要比较的两列名和新列名作为参数。它首先打开CSV文件,然后使用csv.DictReader
读取文件内容,并获取CSV文件的列名。接下来,它创建一个新的CSV文件来存储结果,并使用csv.DictWriter
创建一个写入器。然后,它遍历CSV文件的每一行,比较两列的值,根据匹配与否在新列中写入相应的值,并将结果写入新的CSV文件中。
请注意,示例代码假设CSV文件的第一行是列名。如果你的CSV文件没有列名,你需要在代码中进行相应的修改。此外,示例代码中创建的新CSV文件名为output.csv
,你可以根据需要进行更改。