gpt4 book ai didi

python - 使用python逐行解析hl7消息

转载 作者:行者123 更新时间:2023-12-04 18:01:26 24 4
gpt4 key购买 nike

我想从文件中逐行读取我的 hl7 消息并使用 python 解析它们。我能够阅读但我的问题在于解析。它只解析文件的第一行并打印到第二行,但不会继续解析,因为它告诉我第二行不是 hl7。显示的错误是

h=hl7.parse(line)
File "C:\Python27\lib\site-packages\hl7\parser.py", line 45, in parse
plan = create_parse_plan(strmsg, factory)
File "C:\Python27\lib\site-packages\hl7\parser.py", line 88, in create_parse_plan
assert strmsg[:3] in ('MSH')
AssertionError

代码:

with open('example.txt','r') as f:
for line in f:
print line
print hl7.isfile(line)
h=hl7.parse(line)

那么如何使我的文件有效。这是 example.txt 文件

MSH|^~\&|AcmeMed|Lab|Main HIS|St.Micheals|20130408031655||ADT^A01|6306E85542000679F11EEA93EE38C18813E1C63CB09673815639B8AD55D6775|P|2.6|
EVN||20050622101634||||20110505110517|
PID|||231331||Garland^Tracy||19010201|F||EU|147 Yonge St.^^LA^CA^58818|||||||28-457-773|291-697-644|
NK1|1|Smith^Sabrina|Second Cousin|
NK1|2|Fitzgerald^Sabrina|Second Cousin|
NK1|3|WHITE^Tracy|Second Cousin|
OBX|||WT^WEIGHT||78|pounds|
OBX|||HT^HEIGHT||57|cm|

最佳答案

我遇到了类似的问题,想出了适合我的解决方案。

简而言之,将所有行放入一个对象中,然后解析该对象。(显然,您可以清理我检查对象是否已创建的方式,但我想要一个易于阅读的示例。)

a = 0
with open('example.txt','r') as f:
for line in f:
if a == 0:
message = line
a = 1
else:
message += line
h=hl7.parse(message)

现在您必须根据文件的行尾值编码方式清理一些\r\n 。但它将消息视为有效,您可以随心所欲地解析。

for line in h:
print(line)

MSH|^~\&|AcmeMed|Lab|Main HIS|St.Micheals|20130408031655||ADT^A01|6306E85542000679F11EEA93EE38C18813E1C63CB09673815639B8AD55D6775|P|2.6|
EVN||20050622101634||||20110505110517|
PID|||231331||Garland^Tracy||19010201|F||EU|147 Yonge St.^^LA^CA^58818|||||||28-457-773|291-697-644|
NK1|1|Smith^Sabrina|Second Cousin|
NK1|2|Fitzgerald^Sabrina|Second Cousin|
NK1|3|WHITE^Tracy|Second Cousin|
OBX|||WT^WEIGHT||78|pounds|
OBX|||HT^HEIGHT||57|cm|

关于python - 使用python逐行解析hl7消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34787242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com