欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python读取office文件基础--

时间:2023-05-24

从office2007开始,微软采用ZIP压缩技术来存储文档Office Open XML格式。例如 word采用的docx就是一个zip压缩包,里面保存了以xml为主的文件。

读取docx文件示例如下:

from zipfile import ZipFile
from bs4 import BeautifulSoup

#1 使用zip解压docx,解析 document.xml 提取所有页docx文字」
def ReadDocxXmlContent(srcDocxFile ):
      text = ""      
      with ZipFile(srcDocxFile) as zf:
          xmldoc= zf.read('word/document.xml').decode()
          soup = BeautifulSoup(xmldoc, 'xml')

         #主体节点
          phaseList =  soup.find('w:body')       
          for child in phaseList.children:             
             
             #1 处理表格内容
             if child.name == 'tbl' :
                  for sub_child in child.children:
                      if sub_child.name == 'tr':
                          item_tr = sub_child.find_all('w:t' ) 
                          temptxt = ''              
                          for sub_item in item_tr:
                              
                              temptxt =temptxt+ sub_item.getText()
                         
                          text = text  + temptxt
                          text = text  +'n'
                  
             #2 处理普通段落
             #if child.name == 'p':
             else:
                  item_tr = child.find_all('w:t' ) 
                  temptxt = ''              
                  for sub_item in item_tr:                      
                      temptxt =temptxt+ sub_item.getText()
                  
                  text = text  + temptxt
                  text = text  +'n'
              
      return text

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。