我在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中搜索列表中每个特定值的每一行。然后我需要打印特定的列表值和包含该值的行。
答案 0 :(得分:0)
除非您的文件已经以某种方式分成行,否则在导入文件时,您必须首先将文件拆分为行。现在它正在返回所有它,因为q1只有一行。
在文件中查找一些识别信息,例如换行符号('\ n'),或者每行是否以特定字符开头。 所以一旦你打开文件,你将包括:
q1.split('your identifying character here')
这将拆分文件的副本,然后您可以执行已编写的循环