有没有一种简单的方法可以在不使用正则表达式的情况下使用python匹配csv文件的给定字段中的值?我在包含文本的csv文件中有一个字段。我希望编写一个python脚本,在名为file.csv的文件中对包含文本'eagle'的所有字段执行操作。
例如:
import csv
with open('file.csv', mode='r') as infile:
reader = csv.reader(infile)
for row in reader:
match = row[3]
if match == 'eagle':
DO STUFF
上述代码不起作用。如何使用与字符串'eagle'匹配的所有row [3]值来执行STUFF?谢谢你的帮助!
编辑: 以下是'file.csv'
中的一些示例行tree,rock,10000,eagle
plant,stone,500,owl
seed,boulder,7000,crane
fruit,pebble,60000000,hawk
我想匹配第1行和第4行的第[3]行,然后是DO STUFF。
答案 0 :(得分:1)
它适用于我的机器。
bash-4.1$ cat > file.csv
tree,rock,10000,eagle
plant,stone,500,owl
seed,boulder,7000,crane
fruit,pebble,60000000,hawk
bash-4.1$ python
Python 2.7 (r27:82500, Sep 16 2010, 18:03:06)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import csv
>>>
>>> with open('file.csv', mode='r') as infile:
... reader = csv.reader(infile)
... for row in reader:
... match = row[3]
... if match == 'eagle':
... print(repr(match))
...
'eagle'
答案 1 :(得分:0)