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

如何按指定分隔符拆分DataFrame列值并生成新记录

解决方案

可以通过Pandas的字符串拆分和行展开功能快速实现需求,具体代码如下:

import pandas as pd

# 构造原始DataFrame(如果已有df可跳过此步骤)
data = {
    'Column_1': [
        '0000099598|000000|-1|0.00|Need to map to EDW|Need to map to EDW|break|006||0000099598|000000|0000099598-1',
        '0000099598|000000|-1|0.00|Need to map to EDW|Need to map to EDW|break|006||0000099598|000000|0000099598-1',
        '0000099598|000000|-1|1580.00|Need to map to EDW|Need to map to EDW|break|006||0000099598|000000|0000099598-1',
        '0000099598|000000|-1|150.00|Need to map to EDW|Need to map to EDW|break|006||0000099598|000000|0000099598-1',
        '0000099598|000000|-1|1113.75|Need to map to EDW|Need to map to EDW|break|006||0000099598|000000|0000099598-1'
    ]
}
df = pd.DataFrame(data)

# 核心处理步骤
df['Column_1'] = df['Column_1'].str.split('|break|')  # 按指定分隔符拆分字符串为列表
df = df.explode('Column_1').reset_index(drop=True)    # 展开列表为独立行并重置索引

步骤说明

  1. 字符串拆分:使用str.split('|break|')将每个单元格的内容按|break|分割成包含两个元素的列表,第一个元素是分隔符前的内容,第二个是分隔符后的内容。
  2. 行展开:explode方法会将列表中的每个元素单独生成一行,严格保持原列表内元素的顺序(先显示前半段,再显示后半段),最终将5行数据扩展为10行。
  3. 重置索引:reset_index(drop=True)用于清理展开后的索引,让索引从0开始连续排列。

执行后得到的DataFrame与你提供的目标效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:20:09