Python读取word文档(python-docx包)
最近想统计word文档中的一些信息,人工统计的话。。。三天三夜吧
python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.readthedocs.io/en/latest/index.html
(v0.8.6)
还有一个是 win32com 包,这个包安装步骤如下:
http://jingyan.baidu.com/article/d3b74d64c853081f77e60929.html
安装好 win32com之后安装 docx包:
pip install python-docx
import docx
from win32com import client as wc
import matplotlib.pyplot as plt
from collections import Counter
import os
# 首先将doc转换成docx
word = wc.Dispatch("Word.Application")
# 找到word路径 + 文件名 ,即可打开文件
full_path = 'C:\\Users\\ASUS\\Desktop\\test.docx'
doc = word.Documents.Open(full_path)
# 使用参数16表示将doc转换成docx,保存成docx后才能 读文件
doc.SaveAs(r"D:\\test2.docx",16)
doc.Close()
word.Quit()
# 读取word内容
# 这里是以段落为单位的,下面用一个for 遍历所有段落
doc = docx.Document("D:\\test2.docx")
parag_num = 0
for para in doc.paragraphs :
print(para.text)
parag += 1
print ('This document has ', parag, ' paragraphs')
word文档里是这样的:
执行代码结果:
还可以读取word文档中的表格,图片等其他信息,方便对多个word文档进行统计,分析,处理
Python读取word文档(python-docx包)的更多相关文章
- Python读取word文档内容
1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...
- 2018-10-04 [日常]用Python读取word文档中的表格并比较
最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考Automate the Boring Stuff with Python中的word部分, 试用了python-d ...
- python读取word文档
周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单. 通过搜索,确实搜到了一个python操作word的模块,pytho ...
- Python之word文档模板套用 - 真正的模板格式套用
Python之word文档模板套用: 1 ''' 2 #word模板套用2:套用模板 3 ''' 4 5 #导入所需库 6 from docx import Document 7 ''' 8 #另存w ...
- Python之word文档替换字符串(也可以用于短模板套用)
Python之word文档替换字符串(也可以用于短模板套用),代码如下: 1 ''' 2 #word模板套用1:创建模板,适合比较短的文档 3 ''' 4 5 #导入所需库 6 from docx i ...
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- C# 设置、删除、读取Word文档背景——基于Spire.Cloud.Word
Spire.Cloud.Word.Sdk提供了接口SetBackgroudColor().SetBackgroudImage().DeleteBackground().GetBackgroudColo ...
- java中读取word文档里的内容
package com.cn.peitest.excel.word; import java.io.FileInputStream; import java.io.FileOutputStream; ...
- C#读取Word文档内容代码
首先要添加引用com组件:然后引用: using Word = Microsoft.Office.Interop.Word; 获取内容: /// /// 读取 word文档 返回内容 /// //// ...
随机推荐
- CRUD_PreparedStatement
package songyan.jdbc.crud; import java.sql.Connection; import java.sql.PreparedStatement; import jav ...
- NHibernate官方文档——第八章 继承映射(Inheritance Mapping)
本文翻译自NHibernate官方文档NHibernate Reference Documentation 4.1. 受限于个人知识水平,有些地方翻译可能不准确,但是我还是希望我的这些微薄的努力能为他 ...
- 50个最常用的UNIX/Linux命令
转自http://get.jobdeer.com/493.get 1. tar command examples Create a new tar archive. $ tar cvf archive ...
- 前端福利:一套UI框架
阅读目录 背景 预览效果 表单组件 普通文本框 多行文本框 复选框 切换滑块 单选框 下拉选择框 数字输入框 时间选择 文件选择 显示文本 按钮 开源地址 背景 目前市场上有很多表单美化的UI,做的都 ...
- App Distribution Guide (二)
Configuring Your Xcode Project for Distribution You can edit your project settings anytime, but som ...
- 隐藏服务器真实IP的方法来防止DDOS攻击
2017-08-22 作者:小唐 点击: 10,500次 在无盘系统的环境下,服务器软件存在漏洞,就容易受到DDOS攻击,隐藏服务器真实IP是解决问题最好的方法,下面小编与大家分享一下隐藏服务器真实I ...
- 编译spark源码及塔建源码阅读环境
编译spark源码及塔建源码阅读环境 (一),编译spark源码 1,更换maven的下载镜像: <mirrors> <!-- 阿里云仓库 --> <mirror> ...
- Cocos2d-x 3.1.1 学习日志13--物理引擎登峰造极之路
cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我眼下使用的是最新版的cocos2dx 3.1.1.引擎中默认使用的是chipmunk.假设想要改使用box2d的话 ...
- [Algorithms] Using Dynamic Programming to Solve longest common subsequence problem
Let's say we have two strings: str1 = 'ACDEB' str2 = 'AEBC' We need to find the longest common subse ...
- EffectiveJava(16)复合优先于继承
为什么复合优先于继承? 1.继承违反了封装原则,打破了封装性 2.继承会不必要的暴露API细节,称为隐患.比如通过直接访问底层使p.getProperty(K,V)的键值对可以不是String类型 3 ...