有没有一种简单的方法可以使用python匹配csv文件中的值?
有没有一种简单的方法可以在不使用正则表达式的情况下使用python匹配csv文件给定字段中的值?我在csv文件中有一个包含文本的字段。我希望编写一个python脚本,对名为file.csv的文件中包含文本“eagle”的所有字段执行操作 例如:有没有一种简单的方法可以使用python匹配csv文件中的值?,python,csv,Python,Csv,有没有一种简单的方法可以在不使用正则表达式的情况下使用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: m
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”匹配的所有行[3]值?谢谢你的帮助
编辑:
下面是“file.csv”中的一些示例行
tree,rock,10000,eagle
plant,stone,500,owl
seed,boulder,7000,crane
fruit,pebble,60000000,hawk
我希望匹配第1行和第4行中的第[3]行,然后执行一些操作。如果没有数据包含“,”字符,则将行拆分为“,”
string.split(row,",")
如果没有数据包含“,”字符,将行拆分为“,”将起作用
string.split(row,",")
它在我的机器上工作
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'
它在我的机器上工作
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'
您粘贴的代码到底有什么不起作用?我的代码不会抛出错误。我的这段代码根本不执行。如果有帮助的话,第[3]行位于该行的末尾。此外,我希望匹配的字符串“eagle”是第[3]行中唯一的文本。您可以从csv文件中添加一些示例行吗?另外,如果您
打印'a'+第[3]行+'a'
,您会得到什么?a
s是空的,因此您将在项目的开头和结尾处看到空白。您粘贴的代码到底有什么问题?我的代码不会抛出错误。我的这段代码根本不执行。如果有帮助的话,第[3]行位于该行的末尾。此外,我希望匹配的字符串“eagle”是第[3]行中唯一的文本。您可以从csv文件中添加一些示例行吗?另外,如果您打印'a'+第[3]行+'a'
,您会得到什么?a
s是空的,因此您可以在项目的开始和结束处看到空白。它也适用于我。试着打印repr(第[3行])
看看它到底是什么。它对我也很有用。尝试打印repr(第[3]行]
以查看它的实际内容。