1
私は、上記のコードを使用してTREC文書を分離したテキストファイルに抽出しようとしていますが、いくつかのエラーがあります。ここでは、タグ<DOC>
と</DOC>
間の2つの文書が含まれている私のTRECファイルの内容の例である:TREC文書をどのように抽出できますか?
<DOC>
<DOCNO>
WSJ910102-0145
</DOCNO>
<DOCID>
910102-0145.
</DOCID>
<HL>
xxxx
</HL>
<DATE>
01/02/91
</DATE>
<LP>
text LP1
</LP>
<TEXT>
text1
</TEXT>
</DOC>
<DOC>
<DOCNO>
WSJ910102-0144
</DOCNO>
<DOCID>
910102-0144.
</DOCID>
<HL>
....
</HL>
<DATE>
01/02/91
</DATE>
<LP>
text LP2
</LP>
<TEXT>
text2
</TEXT>
</DOC>
私は区切りのテキストファイル内の各文書を抽出したいです。文書番号 "DOCNO"のタグ "LP"と "TEXT"の内容を取得する必要があります。ここに私のコードは次のとおりです。
text=text.replace('\n',' ').replace('\t', ' ')
i=0
txtDoc=''
regexTxt='(<LP>(.*?)</LP>)? <TEXT>(.*?)</TEXT>'
regexDoc='<DOC>(.*?)</DOC>'
regexDocNo='<DOCNO>(.*?)</DOCNO>'
pattern = compile(r'<DOC>(.*?)</DOC>')
iterator = finditer(pattern, text)
count = 0
for match in iterator:
count +=1
res=re.search(regexDoc,text)
while (i<count):
txtDoc=res.group(i)
resNo=re.search(regexDocNo,txtDoc)
docNo=resNo.group()
docNo=docNo.replace('<DOCNO>', ' ').replace('</DOCNO>', ' ')
res2=re.search(regexTxt,txtDoc)
txt=res2.group()
txt=txt.replace('<TEXT>', ' ').replace('</TEXT>', ' ').replace('<LP>',' ').replace('</LP>',' ')
print("Document : %s \n %s" %(docNo,txt))
i+=1
print ("Fin")
ここで印刷された結果である:
Document : WSJ910102-0145
text1
Document : WSJ910102-0145
text1
Fin
そして、私はこの1つを取得したい:
Document : WSJ910102-0145
text LP1
text1
Document : WSJ910102-0144
text LP2
text2
Fin
どうもありがとう!それはうまく動いている!今私はすべてのコレクションでそれを使うことができます!良い一日を ;) –