Python操作word文档的示例分析(python,Word,开发技术)

时间:2024-05-06 11:36:23 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

写在前面

python-docx 不支持 doc 文档,一定要注意该点,如果使用 doc 文档,需要提前将其用 Word 相关软件转换为 docx 格式。 doc 和 docx 是存在本质差异的,一个是二进制,另一个 XML 格式的文件。

模块的安装 pip install python-docx

以下网址首先准备好

  • 官方手册:https://python-docx.readthedocs.io/en/latest/index.html

  • pypi 官方地址:https://pypi.org/project/python-docx/

资料准备完毕,即可进入编码环节。

创建一个文档

第一个需求,创建一个文档,并在里面写入各种信息。

先实现第一步,写入一个标题

注意下文中的 add_heading() 函数的用法。

fromdocximportDocument#创建Document对象,等价于在电脑上打开一个Word文档document=Document()#在Word文档中添加一个标题document.add_heading('这是一个标题',level=0)#保存文档document.save('demo.docx')

添加文字段落

注意下文中 add_paragraph() 函数添加段落,使用 add_run() 追加文本

fromdocximportDocument#创建Document对象,等价于在电脑上打开一个Word文档document=Document()#在Word文档中添加一个标题document.add_heading('这是一个标题',level=0)#文档添加段落p=document.add_paragraph('这是白给的段落')#添加带样式的文字#添加段落,文本可以包含制表符(\t)、换行符(\n)或回车符(\r)等#add_run()在段落后面追加文本p.add_run('\n我倾斜了').italic=True#添加一个倾斜文字p.add_run('\n我加粗了').bold=True#添加一个加粗文字#保存文档document.save('demo.docx')

在段落前面增加文字

p.add_run('\n我倾斜了').italic=True#添加一个倾斜文字p.add_run('\n我加粗了').bold=True#添加一个加粗文字#段落前面插入内容prep_p=p.insert_paragraph_before('段落之前插入内容')

段落还可以添加分页符,代码如下所示:

#段落前面插入内容prep_p=p.insert_paragraph_before('段落之前插入内容')document.add_page_break()p1=document.add_paragraph('新页新段落')

Python操作word文档的示例分析

列表的添加

无序列表的添加

#添加列表(前面一个小圆点)document.add_paragraph('我前面是小圆点',style='ListBullet')#添加列表(前面一个小圆点)document.add_paragraph('第二个小圆点',style='ListBullet')

有序列表的添加

#添加列表(前面数字)document.add_paragraph('我前面是数字',style='ListNumber')#添加列表(前面数字)document.add_paragraph('第二个数字',style='ListNumber')

图片的添加

Document 对象具备的方法如下所示:

  • add_heading(self, text='', level=1):添加标题;

  • add_page_break(self):分页符;

  • add_paragraph(self, text='', style=None):添加段落;

  • add_picture(self, image_path_or_stream, width=None, height=None):添加图片;

  • add_section(self, start_type=2):添加节;

  • add_table(self, rows, cols, style=None):添加表格;

本部分重点学习 add_picture() 方法。

document.add_picture(r"../9.png",width=Inches(1))

add_picture() 函数中参数 image_path_or_stream 可以为相对地址或者绝对地址,也可以是一个图片数据流,上述代码中 Inches 表示英寸,除此之外, python-docx 还提供了厘米 (Cm) ,如设置 1厘米: Cm(1) ,使用的时候需要提前导入 from docx.shared import Inches, Cm

表格添加

使用 add_table() 函数,可以在 Word 文档中添加表格。

p1=document.add_paragraph('新页新段落')#添加一个2×2表格table=document.add_table(rows=2,cols=2)#获取第1行第2列单元格cell=table.cell(0,1)#设置单元格文本cell.text='第1行第2列'#获取第2行row=table.rows[1]row.cells[0].text='橡皮擦'row.cells[1].text='乔喻'

学习的时候注意一下相关注释,即可掌握该部分内容。

相关样式设置

设置格式需要用 add_run() ,直接使用 add_paragraph() 生成的段落不能直接设置字体等样式。

#模块的导入fromdocx.sharedimportPt,Cm,Inchesfromdocx.oxml.nsimportqnfromdocx.enum.textimportWD_ALIGN_PARAGRAPHfromdocx.sharedimportRGBColor#一级标题level=0head0=document.add_heading(level=0)#标题居中head0.alignment=WD_ALIGN_PARAGRAPH.CENTERtitle_run=head0.add_run('这是一个居中的标题',)title_run.font.size=Pt(24)#标题英文字体title_run.font.name='TimesNewRoman'#标题中文字体title_run.element.rPr.rFonts.set(qn('w:eastAsia'),'微软雅黑')#字体颜色title_run.font.color.rgb=RGBColor(4,60,169)

其中 WD_ALIGN_PARAGRAPH 对象表示段落对其的方式,其值包括如下内容

  • WD_ALIGN_PARAGRAPH. LEFT:左对齐;

  • WD_ALIGN_PARAGRAPH. CENTER:居中对其;

  • WD_ALIGN_PARAGRAPH. RIGHT:右对齐;

  • WD_ALIGN_PARAGRAPH. JUSTIFY:两端对齐;

行距,段间距 line_spacing 属性用来设置行距, space_before 表示段前距, space_after 表示段后距。

斜体,下划线,粗体设置

font.italic=True#设置斜体font.underline=True#设置下划线font.bold=True#设置粗体

首行缩进 paragraph_format_line_indent 可以设置缩进值。

其它设置 除了上述内容外,还可以通过 document.styles.add_style('textstyle', WD_STYLE_TYPE. PARAGRAPH) ,使用 add_style() 方法创建新的样式对象,后续就可以通过提供的属性进行样式设置,设置字体使用 font.size ,设置字体颜色为 font.color

然后在添加段落的时候,就可以应用该属性了。

fromdocx.sharedimportRGBColorfromdocx.enum.styleimportWD_STYLE_TYPEstyle=document.styles.add_style('textstyle',WD_STYLE_TYPE.PARAGRAPH)#字体大小style.font.size=Pt(16)#字体颜色style.font.color.rgb=RGBColor(66,100,0)p1=document.add_paragraph('神人橡皮擦',style=style)

页眉和页脚

页眉和页脚可以直接设置,参考代码如下所示

header=document.sections[0].headerheader.add_paragraph('橡皮擦的页眉')

页脚设置

footer=document.sections[0].footer

python主要应用领域有哪些

1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Python开发。3.人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python。4、系统运维工程项目,自动化运维的标配就是python+Django/flask。5、金融理财分析,量化交易,金融分析。6、大数据分析。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python操作word文档的示例分析的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Linux常用的开源项目管理工具有哪些下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18