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

如何用Python将单元格内的合并产品字符串拆分为多行?

实现合并产品字段拆分并展开行的Python方案

方法一:使用Pandas(推荐,适合处理表格数据)

Pandas是处理结构化数据的首选工具,通过str.split结合explode可以快速实现需求:

import pandas as pd

# 构造原始数据
data = {
    'product': ['Prdct_1Prdct_2Prdct_3Prdct_4Prdct_5Prdct_6'],
    'date': ['23.7.2022'],
    'value': [100]
}
df = pd.DataFrame(data)

# 拆分product列:用正向预查正则,确保每个产品前缀完整保留
df['product'] = df['product'].str.split(r'(?=Prdct_)')
# 将拆分后的列表展开为独立行
df = df.explode('product').reset_index(drop=True)

# 输出结果
print(df)

执行后得到的结果:

productdatevalue
Prdct_123.7.2022100
Prdct_223.7.2022100
Prdct_323.7.2022100
Prdct_423.7.2022100
Prdct_523.7.2022100
Prdct_623.7.2022100

方法二:纯Python实现(无需第三方库)

如果不需要依赖Pandas,用标准库的正则模块也能完成:

import re

# 原始数据行
original_data = {
    'product': 'Prdct_1Prdct_2Prdct_3Prdct_4Prdct_5Prdct_6',
    'date': '23.7.2022',
    'value': 100
}

# 提取所有符合格式的产品
products = re.findall(r'Prdct_\d+', original_data['product'])

# 生成拆分后的行列表
result = []
for prod in products:
    result.append({
        'product': prod,
        'date': original_data['date'],
        'value': original_data['value']
    })

# 打印结果
for row in result:
    print(row)

输出结果:

{'product': 'Prdct_1', 'date': '23.7.2022', 'value': 100}
{'product': 'Prdct_2', 'date': '23.7.2022', 'value': 100}
{'product': 'Prdct_3', 'date': '23.7.2022', 'value': 100}
{'product': 'Prdct_4', 'date': '23.7.2022', 'value': 100}
{'product': 'Prdct_5', 'date': '23.7.2022', 'value': 100}
{'product': 'Prdct_6', 'date': '23.7.2022', 'value': 100}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:55:13