括在從文本文件中的大括號我在文本文件中的行如下所示:提取值使用python
0044xx AAA,BBB < +> 01/01/0017:53 < &> {3.01} {00001 } {XXX YYY DIFF} {(4.0-10.5)} {} 7.2
等
我試圖像提取值:
AAA is 0044xx aaa, bbb
BBB is 01/01/0017:53
CCC is 3.01
DDD is 00001
EEE is xxx yyy
FFF is (4.0-10.5)
HHH is 7.2
我不能從CCC中提取大括號內的HHH值。
我的腳本是這樣的:
import sys
import re
import csv
def separateCodes(code):
values = re.compile('.*?\{(.*?)\}.*?')
field=values.findall(code)
for i in range(len(field)):
print field[i]
print"-------------------------"
def handleError(self, record):
raise
with open('/xxx.TXT') as ABCfp:
PP=ABCfp.read()
PPwithNOrn=PP.replace('*\r','').replace('\n', '')
PPByMsg=PPwithNOrn.split('<~>')
print len(PPByMsg)
for i in range(len(PPByMsg)):
AAA=""
BBB=""
CCC=""
DDD=""
EEE=""
FFF=""
GGG=""
HHH=""
print i,"=>",PPByMsg[i]
if PPByMsg[i].find("<L>")!=-1:
print "-----------------------"
# AAA found
AAA=PPByMsg[i].split('<L> <+>')[0]
# BBB found
BBB=PPByMsg[i].split('<L> <+>')[1].split('<&>')[0]
# REST Found
rest=separateCodes(PPByMsg[i].split('<L> <+>')[1].split('<&>')[1])
由於我是新手到Python無法繼續前進。請提出一種方法來提取這些值。
歡迎堆棧溢出。請[格式化代碼](http://stackoverflow.com/editing-help),以便每個人都可以閱讀。 – SuperSaiyan
「EEE」在你想要提取值的方式中是否正確? – Jerry