在CSV列中查找值,返回值的行号

时间:2017-03-03 09:17:10

标签: python python-2.7 csv

我有一个包含内容的CSV文件:

scenario1,5,dosomething
scenario2,10,donothing
scenario3,8,dosomething
scenario4,5,donothing

我想把变量的内容首先看看它是否在第一列,如果是真的 - 我想得到找到它的行号和整行内容。 csv的第1列中没有重复值。

我可以部分地做第一步,即查找变量是否在csv中,返回整行。

import csv
filename = csv.reader(open('/file.csv', "rb"), delimiter=",")
v = 'scenario1'
for row in configfile:
    if 'v' in row[0]:
        print row

我收到的结果是:

['scenario1','5','dosomething']

但我需要第二部分的帮助。这是为了找到行号。

1 个答案:

答案 0 :(得分:2)

试试这个:

import csv
with open("ooo.csv", "r") as f:
    reader = csv.reader(f)
    for line_num, content in enumerate(reader):
        if content[0] == "scenario1":
            print content, line_num + 1

或没有csv模块:

with open("ooo.csv") as f:
    for l, i in enumerate(f):
        data = i.split(",")
        if data[0] == "scenario1":
            print data, l + 1

输出:

['scenario1', '5', 'dosomething'] 1