python 循环读取文件并赋值_python读取docx文件,就是如此简单

扫码加入千人跳槽求职QQ群或微信圈子,每日都有全国招聘信息哦

3eaa2693319f4cb2a0c032733130c0dd.png   b178df3aef2a30b982a3e728ca8d3725.png

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

01:问题抛出与引入
import docxpath = "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 docxfrom docx import Document# 新建文档,并将其保存名为“test.docx”的文件document = Document()document.save('test.docx')
04:添加文档内容
import docxfrom docx import Documentfrom docx.shared import Inchesdocument = 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 docxfrom docx import Documentdocument.save('C:\\Users\\qin\\Desktop\\1.docx')#保存document.save('C:\\Users\\qin\\Desktop\\2.docx')#另存为
06:读取文本内容
import docxfrom docx import Documentpath = "C:\\Users\\qin\\Desktop\\1.docx"document = Document(path)for paragraph in document.paragraphs:    print(paragraph.text)
07:读取表格内容
import docxfrom docx import Documentpath = "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/

转发到朋友圈是最高的赞赏

ac3e59f12971ce95400836eb57d6be96.png

因为不是天生丽质,所以必须天生励志!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值