中文编码问题总是让人头疼(尤其是mac本),想要用Python读取word中的内容。用open()经常报错,通过百度搜索+问身边小伙伴发现了Python有专门读取.docx的模块python_docx。本篇文章主要来解决一个读取docx文件的基本操作。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!

01:问题抛出与引入

import docx
path = "C:\\Users\\qin\\Desktop\\1.docx"
file_object=open(path,'rb')
print(file_object.read())
#输出结果如下所示:
b'PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00J\\xbc\\x02qm\\x01\\x00\\x00
(\\x06\\x00\\x00\\x13\\x00\\x08\\x02[Content_Types].xml \\xa2\\x04\\x02(\\xa0\.....

一个很简单的docx文件,打印出来的结果却不是我们想要的。对此引入一个十分好用的docx模块,下面就详细介绍该模块的一些基本操作。

02:安装docx模块

pip install python_docx

03:新建文档对象

import docx
from docx import Document
# 新建文档,并将其保存名为“test.docx”的文件
document = Document()
document.save('test.docx')

04:添加文档内容

import docx
from docx import Document
from docx.shared import Inches
document = Document('C:\\Users\\qin\\Desktop\\1.docx')
document.add_heading('I like python', 0)#插入标题:0表示样式为title标题
document.add_heading('一级标题', level=1)#插入1级标题
p = document.add_paragraph('Python是一种计算机程序设计语言 ')#插入段落
document.add_picture('C:\\Users\\qin\\Desktop\\1.png', width=Inches(1.25)) #添加图片并指定宽度
table = document.add_table(rows=1, cols=3)  #添加一个表格,每行三列
hdr_cells = table.rows[0].cells  #获取第一行的单元格列表对象
hdr_cells[0].text = 'ID'    #为每一个单元格赋值
hdr_cells[1].text = 'Name'
hdr_cells[2].text = 'Age'
new_cells = table.add_row().cells #为表格添加一行
new_cells[0].text = '1'
new_cells[1].text = 'Tom'
new_cells[2].text = '15'
document.add_page_break()   #添加分页符

05:保存文档内容

名字相同则将修改的文件内容保存;名字不同则将修改的文件内容另存为

import docx
from docx import Document
document.save('C:\\Users\\qin\\Desktop\\1.docx')#保存
document.save('C:\\Users\\qin\\Desktop\\2.docx')#另存为

06:读取文本内容

import docx
from docx import Document
path = "C:\\Users\\qin\\Desktop\\1.docx"
document = Document(path)
for paragraph in document.paragraphs:print(paragraph.text)

07:读取表格内容

import docx
from docx import Document
path = "C:\\Users\\qin\\Desktop\\1.docx"
document = Document(path)  # 读入文件
tables = document.tables   # 获取文件中的表格集
table = tables[0]  # 获取文件中的第一个表格
for i in range(0, len(table.rows)):  # 从表格第一行开始循环读取表格数据result = f'{(table.cell(i, 0).text):<5}' + "" + f'{(table.cell(i, 1).text):<5}' + "" + f'{(table.cell(i, 2).text):<5}'# cell(i,0)表示第(i+1)行第1列数据,以此类推print(result)

想要知道docx模块更多资料参考:https://python-docx.readthedocs.io/en/latest/

python读取docx文件,就是如此简单相关推荐

  1. python读取docx文件,并进行一些操作

    python读取docx文件 1.安装包: 先前试用过很多包,都不管用,读取文件时候会出现如下错误: pywintypes.com_error: (-2147352567, '发生意外.', (0, ...

  2. python读取docx文件_Python读写docx文件的方法

    Python读写word文档有现成的库可以处理.我这里采用 python-docx.可以用pip install python-docx安装一下. 这里说一句,ppt和excel也有类似的库哦,而且是 ...

  3. python读取docx文件出错_Python读写docx文件的方法

    这篇文章主要介绍了关于Python读写docx文件的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Python读写word文档有现成的库可以处理.我这里采用 python-doc ...

  4. python读取docx文件_Python应用 | 读写docx文件 (值得收藏的技能)

    字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的word,其扩展名为docx.在日常工作中,可能需要对很多的docx文件进行批处理,例如教师在批阅学生提交的电 ...

  5. python读取docx文件_Python 实现docx文件的读写操作

    我们在做一些数据统计或分析的时候,有时会接触到Execl 格式或者Word 格式的文件.Execl格式的数据提取和解析,我们在之前的文章分享过一些非常好用的Python第三方库,本文中主要介绍如何使用 ...

  6. python读取docx文件出错_Python:读取 .doc、.docx 两种 Word 文件简述及“Word 未能引发事件”错误...

    Python 中可以读取 word 文件的库有 python-docx 和 pywin32. 优点 缺点 python-docx 跨平台 只能处理 .docx 格式,不能处理.doc格式 pywin3 ...

  7. python读取docx文件_Python读写docx文件

    Python读写word文档有现成的库可以处理.我这里采用 python-docx.可以用pip install python-docx安装一下. 这里说一句,ppt和excel也有类似的库哦,而且是 ...

  8. python读取docx文件出错_读取docx文件时出现错误的特殊字符

    我试图使用下面的代码从.docx获取文本,但问题是文本包含特殊字符(例如"ç"或"á"),并且代码没有正确地读取文件.在try: from xml.etree. ...

  9. python 读取文件_python读取docx文件,就是如此简单

    扫码加入千人跳槽求职QQ群或微信圈子,每日都有全国招聘信息哦     中文编码问题总是让人头疼(尤其是mac本),想要用Python读取word中的内容.用open()经常报错,通过百度搜索+问身边小 ...

最新文章

  1. 【Qt】通过QtCreator源码学习Qt(十):多国语言支持
  2. 漫画:为什么程序员喜欢使用 0 ≤ i 10 左闭右开形式写 for 循环?
  3. MPlayer的移植
  4. 记一次httpclient调用失败
  5. 大数据学习笔记44:Hive架构
  6. SpringBoot2.x集成Apache Shiro并完成简单的Case开发
  7. 近期计划-2012年
  8. HashMap原理详解:探测技术(Probing)、数据聚集(Clustering)、寻址方式(Addressing)、墓碑删除(tombstones)等技术的深度剖析
  9. Tortoise ORM 简单使用
  10. imatest白平衡测试结果解析
  11. 无需外部晶振的SOP16封装串口扩展芯片/UART扩展芯片/1扩4芯片介绍及指令说明
  12. 网站百度竞价有展现,点击无咨询原因
  13. Android系统 —— 各版本代号和对应API等级一览
  14. Xprivacy - 必须拥有黑客应用程序
  15. 【记录】螺纹连接与螺旋传动
  16. 视频特效-使用ffmpeg滤镜
  17. 记一次 k8s 集群单点故障引发的血案
  18. P2698 [USACO12MAR]Flowerpot S 题解
  19. 做个成功的嵌入式系统工程师
  20. python中如何解决类互相调用问题_python中同一个类,带参的方法直接如何相互调用...

热门文章

  1. Aspose.PSD使用教程:使用 Java 裁剪或旋转 PSD 图像
  2. position:fixed;滚动条
  3. Linux加入Windows域之完整操作步骤
  4. java springBoot整合MyBatis 记录
  5. HttpEntity的使用 .
  6. java下载文件excel格式错乱,excel获取文件表格数据格式化-excel表格里的文件突然格式全部乱了,怎么恢复?...
  7. 马蜂窝推荐系统容灾缓存服务的设计与实现
  8. locust2.0+教程:007 - 分布式压测执行
  9. Mac本地安装Mysql并配置
  10. HTML5 使用canvas实现画板功能(画笔颜色切换、粗细调整、清除图像)