1
Я пытаюсь создать функцию, которая подсчитывает слова в документе pptx
. Проблема заключается в том, что я не могу понять, как найти только этот вид тегов:SyntaxError: prefix 'a' не найден в префиксной карте
<a:t>Some Text</a:t>
Когда я пытаюсь: print xmlTree.findall('.//a:t')
, он возвращает
SyntaxError: prefix 'a' not found in prefix map
Вы знаете, что делать заставить его работать?
Это функция:
def get_pptx_word_count(filename):
import xml.etree.ElementTree as ET
import zipfile
z = zipfile.ZipFile(filename)
i=0
wordcount = 0
while True:
i+=1
slidename = 'slide{}.xml'.format(i)
try:
slide = z.read("ppt/slides/{}".format(slidename))
except KeyError:
break
xmlTree = ET.fromstring(slide)
for elem in xmlTree.iter():
if elem.tag=='a:t':
#text = elem.getText
#num = len(text.split(' '))
#wordcount+=num
Возможный дубликат [Синтаксический XML с пространством имен в Python с помощью 'ElementTree'] (http://stackoverflow.com/ вопросы/14853243/синтаксический анализ XML-с-пространством имен-в-питон-через-ElementTree-) – dsh