2016-01-15 31 views
0

我已經在example.txt中存儲了我的HL7版本2.6內容。在讀取文件時沒有問題,但在解析文件時第一行被解析但是告訴我第二行在使用hl7.ishl7(行)時不是hL7,所以它不會被解析,因此它在第二行之後停止執行。我不知道內容中有什麼問題。在文件中存儲HL7並在使用python逐行解析時遇到錯誤

文本文件的內容是:

MSH|^~\&|AcmeMed|Lab|Main HIS|St. Micheals|20130408031655||ADT^A01|6306E85542000679F11EEA93EE38C18813E1C635CB09673815639B8AD55D6775|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| 
PV1||||||||^Fitzgerald^John^F|||||||||||5778985|||||||||||||||||||||||||20020606051116| 
OBX|||WT^WEIGHT||78|pounds| 
OBX|||HT^HEIGHT||57|cm| 

的代碼:

import json 
import hl7 
import re 
i=0 
with open('example.txt','r') as f: 
    for line in f: 
    print hl7.isfile(line) 
    print line 
    h=hl7.parse(line) 
    i = i+1 
    print i 

回答

2

你應該分析整個消息,而不是一行行。 HL7消息行本身不是有效的HL7消息。

0

我覺得你可以去

result = hl7.parse(f)   

然後訪問所需的部分 - 第一值的線,接下來是段。

name = result[2][4]   

這是很詳細here

編輯:並觀察換行符,有些人\ r打破它和一些以\ n和這可有點致命的。

相關問題