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

Python处理Excel:将匹配A列的对应字符串移至新列实现行去重合并

问题解决方案

方案1:Excel内置功能实现(无需编码)

适合零代码基础的用户,操作步骤如下:

  • 先备份原始Excel文件,避免操作失误丢失数据
  • 选中原始表的A列,点击顶部「数据」选项卡→「删除重复值」,弹窗中仅勾选A列,确认后得到A列所有唯一值,将这部分唯一值连同表头复制到新工作表的A列
  • 在新工作表的B2单元格(表头默认在第1行)输入公式:
    =INDEX(原表!$B:$B,SMALL(IF(原表!$A:$A=$A2,ROW(原表!$A:$A),99999),COLUMN(A1)))
    如果是Excel 2019及更早版本,输入完成后按 Ctrl+Shift+Enter 激活数组公式;Excel 365/2021版本直接回车即可
  • 将B2单元格的公式向右拖动到足够多的列数(比如A列最多有5个重复值就拖到F列),再向下拖动覆盖所有A列唯一值,即可自动填充对应B列的内容到后续列

方案2:Python代码实现(适合批量/重复操作)

600行数据处理速度极快,操作难度低:

  • 先安装依赖库:打开命令提示符/终端,输入以下命令回车执行
    pip install pandas openpyxl
  • 新建文本文档,将后缀改为.py,复制以下代码到文件中,仅需修改文件路径为你自己的文件路径即可:
import pandas as pd

# 读取原始Excel,替换为你自己的文件路径
df = pd.read_excel("你的原始文件.xlsx", usecols=["Column A", "Column B"])

# 按A列分组,将对应B列内容拆分到多列
output = df.groupby("Column A")["Column B"].apply(list).apply(pd.Series).reset_index()

# 自动按规则重命名列
output.columns = ["Column A"] + [f"Column {chr(ord('B') + i)}" for i in range(len(output.columns)-1)]

# 导出结果到新Excel
output.to_excel("处理后结果.xlsx", index=False)
  • 保存文件后双击运行,或者在命令行中执行该py文件,运行完成后同目录下生成的「处理后结果.xlsx」就是符合要求的文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:57:00