2016-11-23 3 views
1

pptx 문서의 단어를 계산하는 함수를 만들려고합니다. 내가하려고하면SyntaxError : 접두사 '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

[ 'ElementTree'를 통해 파이썬에서 네임 스페이스와 XML을 구문 분석]의 사용 가능한 복제 (http://stackoverflow.com/ 질문/14853243/parsing-xml-with-namespace-in-python-via-elementtree) – dsh

답변