栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Pyparsing:提取可变长度,可变内容,可变空白子字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pyparsing:提取可变长度,可变内容,可变空白子字符串

这是提取患者数据和任何匹配的Gleason数据的示例。

from pyparsing import *num = Word(nums)accessionDate = Combine(num + "/" + num + "/" + num)("accDate")accessionNumber = Combine("S" + num + "-" + num)("accNum")patMedicalRecordNum = Combine(num + "/" + num + "-" + num + "-" + num)("patientNum")gleason = Group("GLEASON" + Optional("SCORE:") + num("left") + "+" + num("right") + "=" + num("total"))assert 'GLEASON 5+4=9' == gleasonassert 'GLEASON SCORE:  3 + 3 = 6' == gleasonpatientData = Group(accessionDate + accessionNumber + patMedicalRecordNum)assert '01/02/11  S11-4444 20/111-22-3333' == patientDatapartMatch = patientData("patientData") | gleason("gleason")lastPatientData = Nonefor match in partMatch.searchString(data):    if match.patientdata:        lastPatientData = match    elif match.gleason:        if lastPatientData is None: print "bad!" continue        print "{0.accDate}: {0.accNum} {0.patientNum} Gleason({1.left}+{1.right}={1.total})".format(  lastPatientData.patientData, match.gleason  )

印刷品:

01/01/11: S11-55555 20/444-55-6666 Gleason(5+4=9)01/02/11: S11-4444 20/111-22-3333 Gleason(3+3=6)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625018.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号