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

如何使用Python实现Vlookup属性匹配后行转列的自动化处理

实现方案

你可以直接用pandas完成这个自动化流程,以下是可直接运行的参考代码:

首先导入依赖库:

import pandas as pd

步骤1:导入你的数据

你可以先用模拟数据测试,再替换成自己的真实数据读取逻辑:

# 模拟第一个表:水果品类数量表
df_fruit = pd.DataFrame({
    "idx": [1,2,3,4],
    "Group": ["苹果", "苹果", "橙子", "菠萝"],
    "Family": ["红富士", "嘎啦果", "脐橙", "金钻凤梨"],
    "Quantity": [120, 89, 230, 76]
})

# 模拟第二个表:审计属性表
df_audit = pd.DataFrame({
    "Group audit": ["苹果", "苹果", "苹果", "苹果", "橙子", "橙子", "菠萝", "菠萝", "西瓜", "西瓜"],
    "Audit variations": ["Quality", "Variations", "Family", "Defect", "甜度", "酸度", "重量", "成熟度", "瓜纹", "含水量"]
})

如果你的数据存在本地文件里,把上面的构造代码替换成对应读取逻辑即可:

  • csv文件用df = pd.read_csv("你的文件路径.csv")
  • Excel文件用df = pd.read_excel("你的文件路径.xlsx")

步骤2:处理审计表,把审计维度从行转成列

# 按品类分组,把同一个品类的所有审计维度聚合为列表
audit_grouped = df_audit.groupby("Group audit")["Audit variations"].apply(list).reset_index()

# 把聚合的列表拆为独立的空列
audit_wide = audit_grouped.join(
    pd.DataFrame(audit_grouped["Audit variations"].tolist(), index=audit_grouped.index)
).drop("Audit variations", axis=1)

步骤3:匹配两个表,输出最终结果

# 左连接保留第一个表的所有行,匹配对应品类的审计列
df_final = df_fruit.merge(
    audit_wide, 
    left_on="Group", 
    right_on="Group audit", 
    how="left"
).drop("Group audit", axis=1)

运行完成后df_final就是你需要的结果,会自动根据匹配到的品类追加对应审计维度的空列,无需手动新增。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:45:05