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

如何使用Python提取CSV文件中含指定值的对应行数据

实现方案

单个CSV提取代码

使用pandas直接匹配目标值,不需要依赖固定索引:

import pandas as pd

# 读取CSV时不设置表头,避免第一行被默认识别为列名
df = pd.read_csv("目标文件路径.csv", header=None)
# 匹配第一列值为Name/name的行,逻辑和要求完全一致
target_rows = df[df[0].isin(["Name", "name"])]

# 输出查看结果
print(target_rows)
# 也可以直接导出为新文件
target_rows.to_csv("提取结果.csv", index=False, header=False)

批量处理多个CSV代码

如果需要批量读取文件夹下所有CSV并合并提取结果,可以用下面的代码:

import pandas as pd
import os

# 替换为你存放CSV文件的文件夹路径
csv_dir = "./csv_files"
result_list = []

for file in os.listdir(csv_dir):
    if file.lower().endswith(".csv"):
        file_path = os.path.join(csv_dir, file)
        df = pd.read_csv(file_path, header=None)
        matched = df[df[0].isin(["Name", "name"])]
        # 可选:新增一列标注数据来自哪个文件,方便溯源
        matched.insert(0, "来源文件名", file)
        result_list.append(matched)

# 合并所有匹配到的结果
final_result = pd.concat(result_list, ignore_index=True)
# 导出最终结果
final_result.to_csv("批量提取结果.csv", index=False, header=False)

场景适配调整

  • 如果Name/name不是出现在CSV的第一列,把代码里的df[0]替换为对应的列序号即可,比如第二列改成df[1]
  • 如果需要忽略所有大小写差异,也可以把匹配逻辑替换为df[df[0].str.lower() == "name"],可以同时匹配NAME、nAmE等各种大小写组合
  • 如果需要匹配整行任意位置出现Name/name的行,匹配逻辑改为df[df.apply(lambda x: x.isin(["Name", "name"]).any(), axis=1)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:45:01