简体   繁体   中英

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?

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!

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']

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM