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

在Pandas中拆分含|分隔符的列并写入已有Excel指定列

解决方法:用Pandas拆分合并列并写入指定列

这事儿其实用Pandas的str.split()方法就能轻松搞定,步骤很清晰,我给你一步步拆解:

1. 读取目标Excel文件

首先把已有Excel文件加载到DataFrame中:

import pandas as pd

# 读取你的Excel文件
df3 = pd.read_excel('type_primary_data.xlsx')

2. 拆分合并列并赋值到指定列

核心操作是用str.split('|', expand=True)把col1按|拆分成独立三列,再直接映射到你需要的指定列。这里假设你要存入的列名为col_id、col_ratio、col_result,你可以换成实际业务对应的列名:

写法一:分步拆分(逻辑更清晰)

# 拆分col1,生成三列临时数据
split_result = df3['col1'].str.split('|', expand=True)

# 将拆分后的每一列赋值给目标列
df3['col_id'] = split_result[0]
df3['col_ratio'] = split_result[1]
df3['col_result'] = split_result[2]

写法二:一步到位(代码更简洁)

如果确认col1的有效数据都是|分隔的三个值,可以直接一次性赋值:

# 直接将拆分结果映射到指定列
df3[['col_id', 'col_ratio', 'col_result']] = df3['col1'].str.split('|', expand=True)

3. 保存修改后的文件

最后把修改后的DataFrame存回Excel(不想覆盖原文件的话,换个文件名即可):

# 保存时加index=False,避免把Pandas的索引列写入Excel
df3.to_excel('type_primary_data.xlsx', index=False)

一些实用提示

  • 如果指定列还不存在于df3中,Pandas会自动创建这些列,无需额外操作
  • 原始数据中的nan行,拆分后对应的目标列也会是nan,完全匹配原始状态
  • 要确保col1的有效数据都是|分隔的三个值,否则拆分后列数不匹配会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:04:11