下面的代碼完美的作品,它會打開一個文本文件和功能parse_messages
得到的參數打開多個文本文件和通話功能
def parse_messages(hl7):
hl7_msgs = hl7.split("MSH|")
hl7_msgs = ["{}{}".format("MSH|", x) for x in hl7_msgs if x]
for hl7_msg in hl7_msgs:
#does something..
with open('sample.txt', 'r') as f:
hl7 = f.read()
df = parse_messages(hl7)
但現在我已經在目錄中的多個文本文件。我想打開每一個,然後從parse_messages
函數調用。這是我到目前爲止所嘗試的。
但這個只讀最後一個文本文件,不是所有的人
import glob
data_directory = "C:/Users/.../"
hl7_file = glob.glob(data_directory + '*.txt')
for file in hl7_file:
with open(file, 'r') as hl7:
hl7 = f.read()
df = parse_messages(hl7)
縮進你的代碼正確的。它在某些地方有語法錯誤,在其他地方沒有意義。 Python是空間敏感的 –
你從文件中讀出的'hl7'在每次迭代時都被覆蓋,只留下最後一個讀取文件,你可能想把它們追加到列表或字符串 – Skycc
@MadPhysicist我剛剛編輯。它來自複製粘貼 – mtkilic