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!
>Solution :
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']