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

如何使用Pandas按单元格逗号分隔多值拆分复制数据行

Pandas 逗号分隔单元格拆分为独立行实现方案

你最初写的逐行循环遍历判断逗号的思路逻辑上可行,但手动做行捕获、原值修改、新行插入的代码冗余度高,且数据量较大时运行效率很差,直接用Pandas内置的向量化方法就能几行代码实现需求,性能远高于手写循环。

具体实现步骤

  • 读取csv源数据
  • 对column2列按逗号做拆分,同时清理拆分后每个值前后的多余空格,避免出现带首尾空格的脏值
  • 调用explode方法将拆分得到的列表值展开为独立行,其他列(如column1)的取值会自动和拆分后的值对应匹配,完全符合预期输出要求

可直接运行的代码

import pandas as pd

# 替换为你实际的csv文件路径
df = pd.read_csv("your_file_path.csv")

# 可选:提前将column2统一转为字符串,避免空值、数字类型导致split报错
df["column2"] = df["column2"].astype(str)

# 按逗号拆分值,同时清理每个值的首尾空白
df["column2"] = df["column2"].str.split(",").map(lambda val_list: [val.strip() for val in val_list])

# 将拆分后的列表展开为独立行,重置索引
df = df.explode("column2", ignore_index=True)

效果验证

用你给出的样例数据运行上述代码,得到的输出完全匹配预期:

column1column2
valuevalue
valuevalue1
valuevalue2
valuevalue

该实现没有硬编码“仅拆分2个值”的逻辑,哪怕单个单元格内有3个及以上逗号分隔的值,也能自动拆分为对应数量的行,通用性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:36:23