怎么在Python中利用python-docx对word文档进行读写
怎么在Python中利用python-docx对word文档进行读写?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一、安装包
pip3installpython-docx
二、创建word文档
下面是在官文示例基础上对个别地方稍微修改,并加上函数的使用说明
fromdocximportDocument fromdocx.sharedimportInches document=Document() #添加标题,并设置级别,范围:0至9,默认为1 document.add_heading('DocumentTitle',0) #添加段落,文本可以包含制表符(\t)、换行符(\n)或回车符(\r)等 p=document.add_paragraph('Aplainparagraphhavingsome') #在段落后面追加文本,并可设置样式 p.add_run('bold').bold=True p.add_run('andsome') p.add_run('italic.').italic=True document.add_heading('Heading,level1',level=1) document.add_paragraph('Intensequote',style='IntenseQuote') #添加项目列表(前面一个小圆点) document.add_paragraph( 'firstiteminunorderedlist',style='ListBullet' ) document.add_paragraph('seconditeminunorderedlist',style='ListBullet') #添加项目列表(前面数字) document.add_paragraph('firstiteminorderedlist',style='ListNumber') document.add_paragraph('seconditeminorderedlist',style='ListNumber') #添加图片 document.add_picture('monty-truth.png',width=Inches(1.25)) records=( (3,'101','Spam'), (7,'422','Eggs'), (4,'631','Spam,spam,eggs,andspam') ) #添加表格:一行三列 #表格样式参数可选: #NormalTable #TableGrid #LightShading、LightShadingAccent1至LightShadingAccent6 #LightList、LightListAccent1至LightListAccent6 #LightGrid、LightGridAccent1至LightGridAccent6 #太多了其它省略... table=document.add_table(rows=1,cols=3,style='LightShadingAccent2') #获取第一行的单元格列表 hdr_cells=table.rows[0].cells #下面三行设置上面第一行的三个单元格的文本值 hdr_cells[0].text='Qty' hdr_cells[1].text='Id' hdr_cells[2].text='Desc' forqty,id,descinrecords: #表格添加行,并返回行所在的单元格列表 row_cells=table.add_row().cells row_cells[0].text=str(qty) row_cells[1].text=id row_cells[2].text=desc document.add_page_break() #保存.docx文档 document.save('demo.docx')
创建的demo.docx内容如下:
三、读取word文档
fromdocximportDocument doc=Document('demo.docx') #每一段的内容 forparaindoc.paragraphs: print(para.text) #每一段的编号、内容 foriinrange(len(doc.paragraphs)): print(str(i),doc.paragraphs[i].text) #表格 tbs=doc.tables fortbintbs: #行 forrowintb.rows: #列 forcellinrow.cells: print(cell.text) #也可以用下面方法 '''text='' forpincell.paragraphs: text+=p.text print(text)'''
运行结果:
DocumentTitle Aplainparagraphhavingsomeboldandsomeitalic. Heading,level1 Intensequote firstiteminunorderedlist seconditeminunorderedlist firstiteminorderedlist seconditeminorderedlist DocumentTitle Aplainparagraphhavingsomeboldandsomeitalic. Heading,level1 Intensequote firstiteminunorderedlist seconditeminunorderedlist firstiteminorderedlist seconditeminorderedlist Qty Id Desc 101 Spam 422 Eggs 631 Spam,spam,eggs,andspam [Finishedin0.2s]
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...