2016-11-23 1 views
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 
+0

Возможный дубликат [Синтаксический XML с пространством имен в Python с помощью 'ElementTree'] (http://stackoverflow.com/ вопросы/14853243/синтаксический анализ XML-с-пространством имен-в-питон-через-ElementTree-) – dsh

ответ

Смежные вопросы