从 xml 生成 spacy 的 TRAIN_DATA

问题描述 投票:0回答:1
python xml spacy elementtree training-data
1个回答
0
投票

要 grep 文本,您需要元素 .tail:

import xml.etree.ElementTree as ET

xml_str ="""
<item n="main"><anchor type="b" ana="regO.lemID_12" xml:id="TidB13" />Stuttgart<anchor type="e" ana="reg0.lemID_12" xml:id="TidE13" /> d. 20. Sept [19]97<lb/>Lieber Herr Schmidt!<lb/>Ich bin sehr glücklich über die Aufnahme <anchor type="b" ana="regW.lemID_17" xml:id="TidB22" />meines <anchor type="b" ana="regP.lemID_4" xml:id="TidB4" />Shakespeare<anchor type="e" ana="regP.lemID_4" xml:id="TidE4" /><anchor type="e" ana="regW.lemID_17" xml:id="TidE22" /> bei euch, vielen Dank.</item>
"""
root = ET.fromstring(xml_str)

text = []
for elem in root.iter():
    if elem.tail is not None:
        # with linebreak \n
        text.append(elem.tail+'\n')
        
t = ''.join(text)
print(t)
print(repr(t))

输出:

Stuttgart
 d. 20. Sept [19]97
Lieber Herr Schmidt!
Ich bin sehr glücklich über die Aufnahme 
meines 
Shakespeare
 bei euch, vielen Dank.

'Stuttgart\n d. 20. Sept [19]97\nLieber Herr Schmidt!\nIch bin sehr glücklich über die Aufnahme \nmeines \nShakespeare\n bei euch, vielen Dank.\n'
© www.soinside.com 2019 - 2024. All rights reserved.