You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python处理CSV时查找指定列值对应另一列内容的方法

Python筛选CSV指定列匹配值的实现方案

以下两种方案均可实现需求,可根据自身场景选择:

方案1:标准库实现(无第三方依赖)

无需安装额外包,适合轻量简单的处理场景,对应代码如下:

import csv

def get_matched_column_b(csv_file_path: str, target_col_a: str) -> list:
    match_result = []
    with open(csv_file_path, 'r', encoding='utf-8') as csv_file:
        reader = csv.DictReader(csv_file)
        for row in reader:
            if row['Column A'] == target_col_a:
                match_result.append(row['Column B'])
    return match_result

# 调用测试
if __name__ == "__main__":
    print(get_matched_column_b("test.csv", "A"))
    # 输出结果:['yellow', 'blue'],符合预期

注意:如果你的CSV是GBK编码(Windows系统导出的CSV常见编码),将encoding='utf-8'替换为encoding='gbk'即可避免乱码。

方案2:Pandas实现(适合大数据量场景)

如果需要处理的CSV文件数据量较大,或者后续还有其他数据处理需求,可以用Pandas实现,先执行安装命令:
pip install pandas

对应实现代码:

import pandas as pd

def get_matched_column_b(csv_file_path: str, target_col_a: str) -> list:
    df = pd.read_csv(csv_file_path, encoding='utf-8')
    return df[df['Column A'] == target_col_a]['Column B'].tolist()

# 调用测试
if __name__ == "__main__":
    print(get_matched_column_b("test.csv", "A"))
    # 输出结果:['yellow', 'blue'],符合预期

内容的提问来源于stack exchange,提问作者selin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:18:37