У меня есть XML-файл (см., Например, ниже):
<DOC>
<DOCNO>7466</DOCNO>
<PROFILE>_AN-CESAXAAAFT</PROFILE>
<DATE>920518
</DATE>
<HEADLINE>
FT 18 MAY 92 / World News In Brief: Mansell drives into the history books
</HEADLINE>
<TEXT>
Britain's Nigel Mansell (left) led from start to finish in the San Marino
Grand Prix at Imola yesterday, becoming the first driver to win the first
five races of a formula one season. Mansell has a maximum 50 points in the
drivers' championship, 26 clear of second-placed Italian Riccardo Patrese.
</TEXT>
<PUB>The Financial Times
</PUB>
<PAGE>
International Page 1
</PAGE>
</DOC>
(многие из них есть в реальном файле)
Я также сгенерировал этот код до сих пор:
import xml.etree.ElementTree as ET
import re
from stemming.porter2 import stem as PT
tree = ET.parse('articles.xml')
root = tree.getroot()
myDict = {}
for x in root:
myDict[x.find("DOCNO").text] = x.find("TEXT").text
for x in root.iter('TEXT'):
x = x.lower()
x = re.split('[^a-zA-Z]', x)
x = PT(x)
print x
В основном я хочу создать словарь, в котором ключом является DOCNO, а значением является текст внутри TEXT, но после его обработки (что в данном случае означает: преобразование всего в нижний регистр). разделение на не алфавитно-цифровые значения и выделение слов).
Я новичок в python, поэтому, если у кого-то есть лучшее предложение, как это сделать, пожалуйста, дайте мне знать! Любой совет будет высоко ценится:)
Также - всякий раз, когда я даже пытаюсь напечатать текст внутри тега TEXT, я получаю странное форматирование, от которого я не могу избавиться (\ n везде) - любойИдея почему или как исправить? например:
{'8167': '\nTwo officers were injured when police clashed with youths on a Coventry\nestate for the second night running. Four petrol bombs were thrown at police\nvans.\n',