コードの下の関数を呼び出すことが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)
を取得します。しかし、今、私は、ディレクトリ内に複数のテキストファイルを持っている1つのテキストファイルと機能を開きところ、完璧に動作します。私はそれぞれparse_messages
の機能から呼び出して開いてみたいです。これまで私が試したことがあります。
しかし、これだけ読んで最後のテキストファイル、あなたの読み取りファイルのループfor file in hl7_file
ではないすべてのそれらの
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