Python3.4:匹配和返回列表值

时间:2015-05-26 12:36:45

标签: list loops python-3.x

我在Python中打开了一个包含数千行的文本文件。我需要搜索每一行,看它是否包含许多不同指定值中的一个。然后我需要返回特定值和包含该值的相应行。

q1 = open('/home/lost/StockRec/StockIndex/edgar.full-index.2015.QTR1.master.idx', 'r')

list = ['1341234', '12341234', '4563456', '12341234', '6896786', '2727638']

for line in q1:
    for listValue in list:
        if listValue in line:
            print(listValue, line)

我知道这段代码错了。我需要在q1中搜索列表中每个特定值的每一行。然后我需要打印特定的列表值和包含该值的行。

1 个答案:

答案 0 :(得分:0)

除非您的文件已经以某种方式分成行,否则在导入文件时,您必须首先将文件拆分为行。现在它正在返回所有它,因为q1只有一行。

在文件中查找一些识别信息,例如换行符号('\ n'),或者每行是否以特定字符开头。 所以一旦你打开文件,你将包括:

q1.split('your identifying character here')

这将拆分文件的副本,然后您可以执行已编写的循环