P.J. P.J. - 2 months ago 5
Python Question

Read in the first column of a CSV in python

I have a CSV (mylist.csv) with 2 columns that look similar to this:


jfj840398jgg item-2f
hd883hb2kjsd item-9k
jie9hgtrbu43 item-12
fjoi439jgnso item-3i



I need to read the first column into a variable so I just get:


jfj840398jgg
hd883hb2kjsd
jie9hgtrbu43
fjoi439jgnso



I tried the following, but it is only giving me the first letter of each column:

import csv
list2 = []
with open("mylist.csv") as f:
for row in f:
list2.append(row[0])


so the results of the above code are giving me list2 as:


['j', 'h', 'j', 'f']

Answer

You should split the row and then append the first item

list2 = []
with open("mylist.csv") as f:
    for row in f:
        list2.append(row.split()[0])

You could also use a list comprehension which are pretty standard for creating lists:

with open("mylist.csv") as f:
    list2 = [row.split()[0] for row in f]