简体   繁体   中英

Stack multiple columns into one single column in a csv with Python 3.x

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

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM