Pythonを使用して、特定のクエリ用の何千ものテキストファイルを検索するフィルタを作成しています。これらのテキストファイルはいくつかのセクションで構成され、すべてが一貫した書式設定を持つわけではありません。区切り文字を使用してファイルから変数に複数行を保存する
今with open(some_file, 'r') as r:
for line in r:
if "DESCRIPTION OF RECORD" in line:
record = line
:「RECORD OF DESCRIPTION」と呼ばれるテキストファイルのセクションで、私は変数に文字列を格納するために、このような何かをやっていたので、私は、これらの各セクションは、特定の基準をチェックしたいですこれはほとんどのファイルでうまくいきますが、ファイルの中には改行があるため、セクション全体が変数に格納されません。変数に格納されている行数を制御するためにデリミタを使用する方法を知りました。私は区切り文字として次のセクションの "CORRELATION"というタイトルを使用します。何か案は?ファイルの
例の構造は、次のようになります。私はあなたの例のテキストの代わりに、ファイルを使用する場合は
import re
# I assume you have a list of all possible sections
sections = [
'CLINICAL HISTORY',
'MEDICATIONS',
'INTRODUCTION',
'DESCRIPTION OF THE RECORD',
'IMPRESSION',
'CLINICAL CORRELATION'
]
# Build a regexp that will match any of the section names
exp = '|'.join(sections)
with open(some_file, 'r') as r:
contents_of_file = r.read()
infos = list(re.split(exp, contents_of_file)) # infos is a list of what's between the section names
infos = [info.strip('\n :') for info in infos] # let's get rid of colons and whitespace in our infos
print(infos) # you don't have to print it :)
:
CLINICAL HISTORY: Some information.
MEDICATIONS: Other information
INTRODUCTION: Some more information.
DESCRIPTION OF THE RECORD: Some information here....
another line of information
IMPRESSION: More info
CLINICAL CORRELATION: The last bit of information
ファイルの表示例を教えてください。 –
問題はない、私はやった。ありがとうございました。 –
ありがとう、答えに取り組んで:) –