如何比较CSV文件两列是否相等并提取取值一致的内容
CSV文件两列相等值提取方法
需求说明
校验CSV文件内指定两列的取值是否相等,提取两列取值一致的对应值。
参考示例数据如下:
Column1 Column2 A B B C C C E E
上述示例中第三、四行两列值相等,预期输出结果为C、E。
实现方案
1. 命令行awk实现(适合快速处理)
直接执行以下命令即可得到结果:
awk 'NR>1 && $1==$2 {print $1}' 目标文件路径.csv
参数说明:
NR>1:跳过表头行$1==$2:校验第一列和第二列值相等- 符合条件的行打印第一列的值,最终输出结果与预期一致
2. Python实现(适合二次开发扩展)
可以通过Python内置csv模块实现,代码如下:
import csv matched_values = [] # 读取CSV文件 with open("目标文件路径.csv", "r", encoding="utf-8") as f: # 自动识别表头,跳过列之间的多余空格 csv_reader = csv.DictReader(f, delimiter=" ", skipinitialspace=True) for row in csv_reader: if row["Column1"] == row["Column2"]: matched_values.append(row["Column1"]) # 打印匹配结果 for val in matched_values: print(val)
执行后将逐行输出匹配到的C、E。
内容的提问来源于stack exchange,提问作者smith
相关产品推荐
相关产品推荐

