Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Iterate each cell in a specific column in csv by using pandas in Python

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?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

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']
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading