学习python办公自动化心得 python办公自动化之Word篇

发布日期:2025-02-23 05:49:41     作者:临别拥抱     手机:https://m.xinb2b.cn/tech/ctq236864.html     违规举报
Python-docx 模块基础入门之一 全局视角概念介绍

Python-docx是一个Python的第三方库,用于创建和更新微软的Word文档,国产永中Office,WPS、开源办公软件libre_office,openoffice也支持打开docx文档。

安装方式:pip install python-docx

检测是否成功:在命令行下导入docx,(不是python-docx),没有返回错误,证明安装成功。


python-docx 模块视角下的Word文档格式


Word文档格式

Python-docx模块把整个文章看作一个Document对象(以后简称doc),文档内容包括:文本,表格,图片图表等。

先说段落Paragraph对象

每个doc对象包括多个段落Paragraph对象(简称p),这些段落p对象保存在doc.paragraphs属性中,以列表形式返回。每个段落p对象由多个的块对象Run组成,存放在p.runs属性中,run是Word文档的最小单位,不能说一段话就是一个run文字块。例如下图就有4个不同的块对象。


run文字块

再说表格Table对象


在Word中的表格叫table,它和Excel中的差不多,由列、行、单元格组成。

Python-docx的文档结构概括如下:

Document-->Paragraph-->RunDocument-->Table-->Row/Column-->Cellpython-docx 能干什么的官方全局模样

give your the code:(由黑板课爱技术详细注释)

from docx import Documentfrom docx.shared import Inches# 初始化一个文档document = Document()# 添加标题,级别是0为标题段落,document.add_heading('Document Title', 0)# 添加段落p = document.add_paragraph('A plain paragraph having some ')p.add_run('bold').bold = True # 添加p段落对应的块,要求加粗p.add_run(' and some ') # 继续添加run块p.add_run('italic.').italic = True # 添加斜体块# 添加子节标题级别可以是1-9,并且添加指定样式段落document.add_heading('Heading, level 1', level=1)document.add_paragraph('Intense quote', style='Intense Quote')# 连续添加段落,指定好样式document.add_paragraph( 'first item in unordered list', style='List Bullet') # 黑点样式段落document.add_paragraph( 'first item in ordered list', style='List Number') #数字序列样式段落# 添加图片,设定宽度(高度结合图片自动算出)document.add_picture('monty-truth.png', width=Inches(1.25))# 初始化一个记录数据records = ( (3, '101', 'Spam'), (7, '422', 'Eggs'), (4, '631', 'Spam, spam, eggs, and spam'))#给文档 添加表格1行3列,并且赋给变量tabletable = document.add_table(rows=1, cols=3)hdr_cells = table.rows[0].cells # 表格第1行的单元格列表hdr_cells[0].text = 'Qty' #分单元格赋值hdr_cells[1].text = 'Id'hdr_cells[2].text = 'Desc'# 循环记录数据添加到指定表格for qty, id, desc in records: 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()# 保存文档document.save('demo.docx')


官方生成文档图片

亲爱的网友,如果你能看懂了全局的模样,稍加锻炼,python处理Word文档的系列文章,你跳过都没有问题哦^_^,等我的实战篇章。

 
 
本文地址:https://xinb2b.cn/tech/ctq236864.html,转载请注明出处。

推荐图文
推荐科技知识
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.132 second(s), 1 queries, Memory 2.4 M