【问题标题】:Stack multiple columns into one single column in a csv with Python 3.x使用 Python 3.x 将多列堆叠成 csv 中的一列
【发布时间】:2021-04-17 14:02:54
【问题描述】:

我有一个包含多列的大型 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)。 This one 看起来最接近我的需要,但数据一开始就已经在 Pandas 数据框中,而我只有 csv。我需要熊猫吗?我需要从 csv 文件创建数据框吗?这可以仅使用 Python 的 csv 库来完成吗?帮助

附:如果有任何意义,csv 有 1000 多列。

【问题讨论】:

    标签: python pandas dataframe csv


    【解决方案1】:

    要获得预期的结果:

    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
    

    【讨论】:

    • 只是为了澄清那里的任何其他 n00bs,首先我需要: import csv import pandas as pd df = pd.read_csv('filename.csv') 并运行上面的代码:)跨度>
    • 无需导入 csv。注意 read_csv 是一个 pandasonic 方法。
    猜你喜欢
    • 2020-01-05
    • 1970-01-01
    • 2021-12-14
    • 2019-08-22
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多