Было бы здорово, если бы вы могли помочь начинающему питону, THX для чтения!Python, анализирующий текст и извлечение с помощью регулярного выражения
Я хочу проанализировать ТекстовыйДокумент, который отформатированный как это и имеет большое количество линий, как это:
000001 A040C015_130223_R1WV V C 11:37:48:22 11:38:29:18 10:00:53:00 10:01:33:20
между каждой строки есть пробелы. Так что я сделал следующее:
#writing data into list
datalist = []
filedata = open(inputfile, 'r')
for line in filedata:
line = line.strip('\n\t\r')
datalist.append(line)
filedata.close()
#splitting up List by whitespace and creating new List
newList = []
for i in datalist:
newList.append(i.split(' '))
print newList[0:]
#parsing list with regex
regCompiled = re.compile('^[A-Z][0-9]{3,3}[C][0-9]{3,3}[_][0-9]{6,6}[_][A-Z][0-9]{2,2}[A-Z].*');
for content in newList:
checkMatch = re.match(regCompiled, content);
if checkMatch:
print ("Found:"), content
else:
print ("NO Match")
Первая проблема у меня есть, что, кажется, она делает для каждой строки списка с пустыми («») элементов для каждого пробела после расщепления, и тогда кажется, что это список в списке из-за функции split.
я попытался с
filter(None, newList)
но («») элементы остаются и ошибка с регулярным выражением из-за пустых элементов. В конце концов, я хочу извлечь только строки, содержащие A040C015_etc.
Полный Textlist здесь: Link to full Text Document
Большое спасибо за любую помощь ... райнер
Что это регулярное выражение должно найти именно? – WeaselFox
он должен найти именно этот формат строки: A040C015_130223_R1WV – rainer