Read In The First Column Of A Csv In Python
Solution 1:
You should split
the row and then append the first item
list2 = []
withopen("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:
withopen("mylist.csv") as f:
list2 = [row.split()[0] for row in f]
Solution 2:
You can also use pandas
here:
import pandas as pddf= pd.read_csv(mylist.csv)
Then, getting the first column is as easy as:
matrix2 = df[df.columns[0]].as_matrix()
list2 = matrix2.tolist()
This will return only the first column in list
. You might want to consider leaving the data in numpy
, if you're conducting further data operation on the result you get.
Solution 3:
You can use the csv
module:
import csv
withopen("processes_infos.csv", "r", newline="") as file:
reader = csv.reader(file, delimiter=",")
for row in reader:
print(row[0], row[1])
You can change the delimiter ","
into " "
.
Solution 4:
you import csv
, but then never use it to actually read the CSV. Then you open mylist.csv
as a normal file, so when you declare:
forrowin f:
list2.append(row[0])
What you're actually telling Python to do is "iterate through the lines, and append the first element of the lines (which would be the first letter) to list2
". What you need to do, if you want to use the CSV module, is:
import csv
withopen('mylist.csv', 'r') as f:
csv_reader = csv.reader(f, delimiter=' ')
for row in csv_reader:
list2.append(row[0])
Solution 5:
The simplest answer
import pandas as pd
df = pd.read_csv(mylist.csv)
matrix2 = df[df.columns[0]].to_numpy()
list1 = matrix2.tolist()
print(list1)
Post a Comment for "Read In The First Column Of A Csv In Python"