码迷,mamicode.com
首页 > 编程语言 > 详细

python读取word中的段落、表、图

时间:2019-06-16 22:02:31      阅读:1802      评论:0      收藏:0      [点我收藏+]

标签:文件夹   href   extra   释放   graphs   cell   tab   一段   列表   

读取文本、图、表、解压信息

import
docx import zipfile import os import shutil ‘‘‘读取word中的文本‘‘‘ def gettxt(): file=docx.Document("gao.docx") print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段 #输出每一段的内容 # for para in file.paragraphs: # print(para.text) #输出段落编号及段落内容 for i in range(len(file.paragraphs)): if len(file.paragraphs[i].text.replace( ,‘‘))>4: print(""+str(i)+"段的内容是:"+file.paragraphs[i].text) ‘‘‘读取word中的table‘‘‘ def gettable(): doc = docx.Document(word.docx) for table in doc.tables: # 遍历所有表格 print (----table------) for row in table.rows: # 遍历表格的所有行 # row_str = ‘\t‘.join([cell.text for cell in row.cells]) # 一行数据 # print row_str for cell in row.cells: print (cell.text, \t) ‘‘‘获取解压后的文件信息‘‘‘ def getinfo(wordfile): f=zipfile.ZipFile(wordfile,r) for filename in f.namelist(): f.extract(filename) print(filename) ‘‘‘ 输出解压后的信息: _rels/ _rels/.rels customXml/ customXml/_rels/ customXml/_rels/item1.xml.rels customXml/_rels/item2.xml.rels customXml/item1.xml customXml/item2.xml customXml/itemProps1.xml customXml/itemProps2.xml docProps/ docProps/app.xml docProps/core.xml docProps/custom.xml docProps/thumbnail.wmf word/ word/_rels/ word/_rels/document.xml.rels word/document.xml word/fontTable.xml word/media/ word/media/image1.jpeg word/numbering.xml word/settings.xml word/styles.xml word/theme/ word/theme/theme1.xml ‘‘‘ ‘‘‘ ------获取图: word文档的路径 zip压缩文件的路径 临时解压的tmp路径 最后需要保存的store_path路径 ‘‘‘ def getpic(path, zip_path, tmp_path, store_path): ‘‘‘ :param path:源文件 :param zip_path:docx重命名为zip :param tmp_path:中转图片文件夹 :param store_path:最后保存结果的文件夹(需要手动创建) :return: ‘‘‘ ‘‘‘=============将docx文件重命名为zip文件====================‘‘‘ os.rename(path, zip_path) # 进行解压 f = zipfile.ZipFile(zip_path, r) # 将图片提取并保存 for file in f.namelist(): f.extract(file, tmp_path) # 释放该zip文件 f.close() ‘‘‘=============将docx文件从zip还原为docx====================‘‘‘ os.rename(zip_path, path) # 得到缓存文件夹中图片列表 pic = os.listdir(os.path.join(tmp_path, word/media)) ‘‘‘=============将图片复制到最终的文件夹中====================‘‘‘ for i in pic: # 根据word的路径生成图片的名称 new_name = path.replace(\\, _) new_name = new_name.replace(:, ‘‘) + _ + i shutil.copy(os.path.join(tmp_path + /word/media, i), os.path.join(store_path, new_name)) ‘‘‘=============删除缓冲文件夹中的文件,用以存储下一次的文件====================‘‘‘ for i in os.listdir(tmp_path): # 如果是文件夹则删除 if os.path.isdir(os.path.join(tmp_path, i)): shutil.rmtree(os.path.join(tmp_path, i)) if __name__ == __main__: # 源文件 path = rE:\dogcat\提取图片\log.docx # docx重命名为zip zip_path = rE:\dogcat\提取图片\log.zip # 中转图片文件夹 tmp_path = rE:\dogcat\提取图片\tmp # 最后保存结果的文件夹 store_path = rE:\dogcat\提取图片\测试 m = getpic(path, zip_path, tmp_path, store_path)

 

 

 

至于处理doc文件直接转存成docx文件就可以了

def docTTTTTdocx(doc_name, docx_name):    try:
        # 首先将doc转换成docx
        word = client.Dispatch("Word.Application")
        doc = word.Documents.Open(doc_name)
        # 使用参数16表示将doc转换成docx
        doc.SaveAs(docx_name, 16)
        doc.Close()
        word.Quit()
    except:
        pass

 

 

参考:

https://blog.csdn.net/qq_40925239/article/details/83279957

https://blog.csdn.net/qq_15969343/article/details/81673970

python读取word中的段落、表、图

标签:文件夹   href   extra   释放   graphs   cell   tab   一段   列表   

原文地址:https://www.cnblogs.com/51python/p/11033002.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!