python - 使用 Python 3.x 将多列堆叠成 csv 中的一列
问题描述
我有一个包含多个列的大型 CSV 文件,我想使用 Python 将其合并为 2 列。
是)我有的:
ID.12345 ID.45678
CVE-xxxx-1234 CVE-xxxx-5678
CVE-xxxx-3456
我需要的:
ID CVE
ID.12345 CVE-xxxx-1234
ID.12345 CVE-xxxx-3456
ID.45678 CVE-xxxx-5678
我在这里查看了几个解决方案,但不确定从哪里开始(编码 n00b)。这个看起来最接近我的需要,但数据一开始就已经在 Pandas 数据框中,而我只有 csv。我需要熊猫吗?我需要从 csv 文件创建数据框吗?这可以仅使用 Python 的 csv 库来完成吗?帮助
PS 如果有任何意义,csv 有 1000 多列。
解决方案
要获得预期的结果,请运行:
result = df.melt(var_name='ID', value_name='CVE').dropna()
结果,对于您的数据样本是:
ID CVE
0 ID.12345 CVE-xxxx-1234
1 ID.12345 CVE-xxxx-3456
2 ID.45678 CVE-xxxx-5678
推荐阅读
- python - 当我点击 QpushButton 时,没有变化?
- javascript - 如何在angular8中拦截脚本和链接标签的src和Href
- php - MOODLE:异常 - 找不到类
- python - 无法在 python 中使用 post 请求登录网站
- office-js - Office.js 是否具有下标或上标文本框的能力?
- metadata - SphinxQL 中 Show Meta 的输出
- css - apache2 上的 wordpress 仅在 Windows 主机上无法正确显示 css
- python-3.x - Python3 写入文本文件总是出现“无效语法”错误
- lightweight-charts - 如何在具有左侧或右侧扩展的轻量级图表中绘制趋势线?
- amazon-web-services - 为 EC2 上的 Docker 容器分配 IP 地址