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

pandas如何按逗号拆分单行数据为多行并移除image列方括号及单引号

解决方案

原代码失效原因

  • data['image'].replace("[]'", '')默认执行全值匹配,仅当单元格内容完全等于[]'时才会触发替换,无法替换内容中的子字符串
  • 多个特殊字符的批量替换需要开启正则匹配模式

完整实现代码

如果你的image列存储的是字符串格式的列表(就是你示例中带方括号、单引号的格式),直接执行以下代码即可:

import pandas as pd

# 1. 移除image列所有方括号、单引号
data['image'] = data['image'].str.replace(r"[\[\]']", '', regex=True)
# 2. 按逗号分割为列表,同时清除每个链接首尾的空白
data['image'] = data['image'].str.split(',').apply(lambda urls: [url.strip() for url in urls])
# 3. 将image列的列表拆分为多行,其余列内容自动复用
data = data.explode('image', ignore_index=True)

如果你的image列本身就是Python原生列表类型,而非字符串形式的列表,可以跳过字符处理步骤,直接执行拆分:

data = data.explode('image', ignore_index=True)

执行完成后你可以输出前几行验证拆分效果:

print(data.head())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:09:03