1

1 つの大きなテキスト ファイルに +25,000 件のレポートがあるという調査を行っています。各レポートは「TEXTSTART[UNIQUE-ID]」と「TEXTEND」で区切られています。

これまでのところ、次のコードを使用して、txt ファイルから単一のレポート (識別子間のテキスト) を読み取ることに成功しました。

f = open("samples_combined_incomplete.txt","r" )
report = f.read()
f.close()

rstart = "TEXTSTART"
rend = "TEXTEND"

a = ((report.split(rstart))[1].split(rend)[0])
print (a)

私の質問はこれです。TEXTSTART[UNIQUE-ID] に基づいて、テキストドキュメントを一意に識別可能な部分文字列に分割するにはどうすればよいですか? そして、IDはどのように返されるべきですか?

私は始めたばかりなので、ドキュメント、便利な機能などに関するアドバイスをいただければ幸いです。


ありがとう、魅力のように動作します! ID は数字と文字の組み合わせです。

f = open("samples_combined_incomplete.txt","r" )
report = f.read()
f.close()

rstart = "TEXTSTART"
rend = "TEXTEND"
a = 0

dict = re.findall('TEXTSTART\[(.*?)\](.*?)TEXTEND', report, re.DOTALL)

while a < 10:
    print (dict[a])
    a += 1

コンテナー内で特定のキーワードを検索してキーを返したい場合、どうすればよいですか?

4

1 に答える 1

5
import re
print dict(re.findall('TEXTSTART\[([^\]]+)\](.*?)TEXTEND', report, re.DOTALL))
于 2012-12-09T15:52:52.950 に答える