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

如何用Python从Excel提取指定ID行数据并保存为制表符分隔TXT文件

用Python实现ID匹配与数据导出

所需工具

用pandas库就能搞定,它处理大型Excel文件效率高,操作也简洁。如果没装这个库,先执行安装命令:

pip install pandas openpyxl

(注:openpyxl是读取.xlsx格式Excel的依赖,若处理.xls格式,换成xlrd即可)

实现步骤

  • 读取TXT文件里的ID列表:每行一个数字,读取后统一类型(避免和Excel中ID的类型不匹配)
  • 读取Excel文件:把ID列设为索引,方便快速定位行数据
  • 遍历TXT中的每个ID,匹配对应行并转成制表符分隔的字符串
  • 将匹配结果写入目标TXT文件

完整代码

import pandas as pd

# 1. 读取TXT中的目标ID列表
with open("ids.txt", "r", encoding="utf-8") as f:
    # 读取每行并去除换行符,转成字符串避免类型不匹配
    target_ids = [line.strip() for line in f if line.strip()]

# 2. 读取Excel文件,假设ID在第一列,将其设为索引
# 处理超大型Excel时,可添加chunksize参数分批读取,避免内存溢出
df = pd.read_excel("data.xlsx", index_col=0, dtype=str)

# 3. 匹配ID并生成结果内容
result_lines = []
for id_str in target_ids:
    if id_str in df.index:
        # 将该行所有列转为制表符分隔的字符串
        line = "\t".join(df.loc[id_str].tolist())
        result_lines.append(line)
    else:
        # 可选:记录未找到的ID
        print(f"ID {id_str} 未在Excel中匹配到")

# 4. 将结果写入目标TXT
with open("matched_data.txt", "w", encoding="utf-8") as f:
    f.write("\n".join(result_lines))

注意事项

  • 若Excel的ID列是数字类型,去掉dtype=str,同时把target_ids转成整数:target_ids = [int(line.strip()) for line in f if line.strip()]
  • 超大型Excel可通过chunksize=10000这类参数分批读取,遍历每个数据块处理匹配逻辑
  • 若文件含中文,确保encoding参数与文件实际编码一致(比如gbk或utf-8)

内容的提问来源于stack exchange,提问作者ARWA ABDULKADER BASHANFAR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:25:30