繁体   English   中英

通过在 Python 中使用 pandas 迭代 csv 中特定列中的每个单元格

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

我有一个 CSV 文件,我只想迭代一个特定列的每一行。

比方说,列名是“phrase”,这一列有1000行,如下:

ID 短语
1个 苹果
2个 香蕉
... ...

如何迭代此列中的每个单元格?

我尝试使用:

df = pd.read_csv('myfile.csv', usecols=[1])
for row in df:
    print(row)

我只获取这一列第一行的值,没有遍历每一行,如下:

Current output:
phrase
Desired output:
phrase # with or without this one are all OK
apple
banana

有谁知道我怎样才能得到想要的结果? 谢谢!

不要将row转换为列表。 list('abc')['a', 'b', 'c']

实现此目的的最简单方法是使用df.phrase.tolist()

import pandas as pd

df = pd.read_csv('myfile.csv')
print(df.phrase.tolist())

产出

['apple', 'banana']

由于您评论说您实际上不必使用pandas ,这可以通过内置的csv模块来完成,这对于初学者来说可能有点不那么让人不知所措:

import csv

with open('myfile.csv') as f:
    reader = csv.DictReader(f)
    phrases = [line['phrase'] for line in reader]

print(phrases)

还输出

['apple', 'banana']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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