0

I have a large CSV file with multiple columns that I would like to merge into 2 columns using Python.

What I have:

ID.12345        ID.45678
CVE-xxxx-1234   CVE-xxxx-5678
CVE-xxxx-3456   

What I need:

ID         CVE
ID.12345   CVE-xxxx-1234
ID.12345   CVE-xxxx-3456
ID.45678   CVE-xxxx-5678

I looked through several solutions here but not sure where to start (coding n00b). This one looks closest to what I need but the data is already in a Pandas dataframe at the start while I only have the csv. Do I need Pandas? Do I need to create a dataframe from the csv file? Can this be done using only Python's csv library? HELP

P.S. The csv has 1000+ columns if that is of any significance.

piggdogg
  • 3
  • 2

1 Answers1

1

To get your expected result run:

result = df.melt(var_name='ID', value_name='CVE').dropna()

The result, for your data sample is:

         ID            CVE
0  ID.12345  CVE-xxxx-1234
1  ID.12345  CVE-xxxx-3456
2  ID.45678  CVE-xxxx-5678
Valdi_Bo
  • 30,023
  • 4
  • 23
  • 41
  • Just to clarify for any other n00bs out there, first I needed to: import csv import pandas as pd df = pd.read_csv('filename.csv') and run the code above :) – piggdogg Jan 12 '21 at 17:10
  • No need to *import csv*. Note that *read_csv* is a *pandasonic* method. – Valdi_Bo Jan 12 '21 at 17:22