首页 > 解决方案 > 使用 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 多列。

标签: pythonpandasdataframecsv

解决方案


要获得预期的结果,请运行:

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

推荐阅读