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

如何使用Openpyxl将Excel全名列拆分为名和姓两个独立列

openpyxl实现全名列拆分的方案

你现有基础代码存在拼写错误:load_workboo 缺少末尾字符k,正确方法名为 load_workbook。

核心实现逻辑

  • 定位存储Full name的列,示例默认Full name在A列,第一行为表头
  • 在相邻列新增First Name、Last Name两个独立列的表头
  • 逐行读取全名字段,去除首尾多余空格后按空格拆分字符串,拆分结果的第一段为First name,最后一段为Last name(兼容带中间名的姓名场景)
  • 写入拆分结果后保存文件即可

完整代码

from openpyxl import load_workbook

# 替换为你的Excel文件实际存储路径
path = "your_excel_file.xlsx"
wb = load_workbook(path)
ws = wb['Sheet1']

# 列号配置:A列为1,B列为2,以此类推
full_name_col = 1  # Full name所在列
first_name_col = 2 # First name写入列
last_name_col = 3  # Last name写入列

# 写入新列表头
ws.cell(row=1, column=first_name_col, value="First Name")
ws.cell(row=1, column=last_name_col, value="Last Name")

# 从第2行开始遍历(跳过表头行)
for row in range(2, ws.max_row + 1):
    full_name_val = ws.cell(row=row, column=full_name_col).value
    # 跳过空值行
    if not full_name_val:
        continue
    name_segments = full_name_val.strip().split()
    if len(name_segments) >= 2:
        # 第一段为名
        ws.cell(row=row, column=first_name_col, value=name_segments[0])
        # 最后一段为姓
        ws.cell(row=row, column=last_name_col, value=name_segments[-1])

# 保存修改,建议加前缀另存避免覆盖原文件
wb.save("split_name_" + path)

适配调整说明

  • 如果你的Full name列不在A列,修改full_name_col对应的列号即可
  • 如果不需要保留原文件,可直接将保存路径设为原文件路径完成覆盖
  • 该方案完全匹配你给出的Harry Surf拆分需求,运行后First name列值为Harry,Last name列值为Surf

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:15:30