I have a CSV file, I want to iterate each row of only one specific column.
Let's say, the column name is "phrase", there are 1000 rows in this column as follows:
ID | phrase |
---|---|
1 | apple |
2 | banana |
... | ... |
How can I iterate each cell in this column?
I have tried to use:
df = pd.read_csv('myfile.csv', usecols=[1])
for row in df:
print(row)
I only get value of the first row of this column, not iterate each row, as follows:
Current output:
phrase
Desired output:
phrase # with or without this one are all OK
apple
banana
Does anyone know how can I get the desired result? Thanks!
CodePudding user response:
Don't convert row
to list. list('abc')
is ['a', 'b', 'c']
.
The simplest way to achieve this is with df.phrase.tolist()
:
import pandas as pd
df = pd.read_csv('myfile.csv')
print(df.phrase.tolist())
outputs
['apple', 'banana']
Since you commented that you don't actually have to use pandas
, this can be done with the built-in csv
module which might be a bit less overwhelming for a beginner:
import csv
with open('myfile.csv') as f:
reader = csv.DictReader(f)
phrases = [line['phrase'] for line in reader]
print(phrases)
Also outputs
['apple', 'banana']