如何用Pandas按'-'分割字符串提取数据集里的漏洞名称
提取CSV中的漏洞名称解决方案
嘿,我来帮你搞定这个漏洞名称提取的需求!你的数据集每行用-分隔漏洞名称和说明,我们只需要拆分每行内容并取左侧部分就行,下面是具体的实现步骤:
核心思路
利用Pandas的字符串拆分方法str.split(),只分割第一次出现的-(避免后续内容里的-干扰),然后提取拆分后的第一个部分,再清理掉前后多余的空格。
完整代码实现
import pandas as pd # 读取CSV文件:如果你的CSV没有表头,加上header=None;如果有表头,替换成对应的列名 df = pd.read_csv("dosya.csv", header=None) # 拆分第0列的内容(如果有表头,把0换成列名,比如'vulnerability_details') # n=1表示只拆分第一次遇到的'-',str[0]取拆分后的第一部分,str.strip()清理前后空格 df['漏洞名称'] = df[0].str.split('-', n=1).str[0].str.strip() # 查看提取后的漏洞名称 print(df['漏洞名称'])
效果演示
用你提供的数据集示例:
Apache 2.x - Memory Leak;
Microsoft Internet Explorer 11 - Crash (PoC) (1)....
Apache 2.0.44 (Linux) - Remote Denial of Service.....
Chindi Server 1.0 - Denial of Service.....
Xeneo Web Server 2.2.9.0 - Denial of Service.....
运行代码后会输出:
0 Apache 2.x 1 Microsoft Internet Explorer 11 2 Apache 2.0.44 (Linux) 3 Chindi Server 1.0 4 Xeneo Web Server 2.2.9.0 Name: 漏洞名称, dtype: object
注意事项
- 如果你的CSV文件有自定义表头(比如列名叫
vuln_info),记得把代码里的df[0]替换成df['vuln_info']。 str.strip()是可选但推荐的步骤,能清理掉漏洞名称前后可能存在的空格,让结果更整洁。
内容的提问来源于stack exchange,提问作者adobean
相关产品推荐
相关产品推荐

