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

如何通过Python结合Pandas匹配TXT与Excel数据并提取对应信息

使用Pandas匹配TXT与Excel数据的实现示例

前提假设

  • TXT文件(比如names.txt)每行存储一个需要匹配的名称,无多余格式;
  • Excel文件(比如data.xlsx)包含目标名称列(假设列名为名称),以及其他需要提取的额外数据列(比如年龄、职位)。

实现代码

import pandas as pd

# 读取TXT文件,提取名称列表(自动过滤空行)
with open('names.txt', 'r', encoding='utf-8') as txt_file:
    target_names = [line.strip() for line in txt_file if line.strip()]

# 读取Excel数据
excel_df = pd.read_excel('data.xlsx')

# 筛选出Excel中名称在TXT列表内的行
matched_results = excel_df[excel_df['名称'].isin(target_names)]

# 打印匹配结果
print("匹配到的记录:")
print(matched_results)

# 可选:将结果导出为新Excel文件
matched_results.to_excel('matched_output.xlsx', index=False)

关键细节与优化

  • 精确匹配问题:确保TXT中的名称与Excel里的名称完全一致(包括大小写、空格、特殊符号),否则会出现匹配失败。如果需要忽略大小写,可以统一转换后再匹配:
    # 统一转为小写处理
    target_names = [line.strip().lower() for line in txt_file if line.strip()]
    matched_results = excel_df[excel_df['名称'].str.lower().isin(target_names)]
    
  • 列名适配:如果Excel中的名称列不是名称,替换为实际列名即可(比如excel_df['姓名'])。
  • 编码处理:如果读取文件时出现乱码,调整encoding参数(比如gbk、utf-8-sig)。
  • 大数据量优化:如果Excel文件很大,可以指定usecols参数只读取需要的列,提升效率:
    excel_df = pd.read_excel('data.xlsx', usecols=['名称', '年龄', '职位'])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:50:31