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

如何将CSV行内的Techniques数组全部拆分为单独数据行?

拆分CSV中列表列为多行数据的解决方案

情况1:列存储的是实际Python列表

如果properties.techniques列的值本身是Python列表对象(如你示例中输出的['T1078','T1036']),直接使用pandas的explode()方法即可一键拆分:

# 过滤空值后拆分列表为单独行
techniques = result['properties.techniques'].dropna().explode()
print(techniques)

输出结果:

T1078
T1036
T1036

情况2:列存储的是字符串格式的列表

如果你的列内容是类似"['T1078','T1036']"的字符串(而非实际列表),需要先将字符串转换为列表对象,再拆分:

import ast

# 把字符串格式的列表转为实际列表
result['properties.techniques'] = result['properties.techniques'].dropna().apply(ast.literal_eval)
# 拆分列表为单独行
techniques = result['properties.techniques'].explode()
print(techniques)

为什么之前的方法只提取单个条目?

你用的str.extract()只会匹配每行中第一个符合正则表达式的内容,因此无法提取列表中的所有元素。而explode()是pandas专门为拆分可迭代对象列设计的方法,能完整拆分每行的所有元素为独立行。

内容的提问来源于stack exchange,提问作者S3c-R3search

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:16:04