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

如何使用Pandas基于嵌套列表向Excel列写入匹配ID值

Pandas实现Excel食物名匹配写入对应ID

实现逻辑

不需要改动原表首尾无关列,仅通过食物名精确匹配,将对应ID写入同一行的ID列,全程保留原表结构、列顺序和其他列内容不变。

前置依赖安装(未安装的话先执行):
pip install pandas openpyxl

完整实现代码

import pandas as pd

# 输入ID与食物名的映射嵌套列表
id_food_list = [['6737', 'Apple'], ['6733', 'Cheese'], ['6731', 'Tomatos']]
# 转换为「食物名:ID」格式的字典,匹配效率远高于遍历嵌套列表
food_id_mapping = {food_name: food_id for food_id, food_name in id_food_list}

# 读取原Excel文件,替换为实际本地文件路径
df = pd.read_excel("原表文件路径.xlsx", engine="openpyxl")

# 列名替换为你表中实际的ID列名、食物列名即可完成匹配写入
# 示例:如果食物列列名为Food、ID列列名为ID,就写df["ID"] = df["Food"].map(food_id_mapping)
df["替换为你的ID列实际列名"] = df["替换为你的食物列实际列名"].map(food_id_mapping)

# 导出处理后的文件,index=False避免生成多余的索引列打乱原表结构
df.to_excel("处理完成的结果文件.xlsx", index=False, engine="openpyxl")

补充说明

  • 所有未在映射列表里出现的食物名,对应ID列会自动留空,不会写入错误内容
  • 如果存在食物名前后带空格、大小写不统一导致匹配失败的情况,可以在匹配前先清洗食物列数据,参考代码:df["替换为你的食物列实际列名"] = df["替换为你的食物列实际列名"].str.strip().str.title()
  • 全程不会修改原表中不需要处理的其他列,导出的文件结构和原表完全一致,仅会填充匹配到的ID列内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:06:16