现在办公软件五花八门,但是在普通企业内部还是用office比较多。office是微软的一款老牌办公软件,功能多的要命,小规模的工作还行,一旦有大量的数据导入往往让新晋办公室人员头皮发麻。
今天,带大家认识一下python推出的第三方软件报python-docx。
1.安装
使用默认的pip安装或者conda环境安装都可以,作者所在的单位对外网有封锁,所以用的是清华的镜像源。方法此处略过
pip install python-docx
conda install python-docx
2.快速开始
使用最简单的只需要三行代码。引用,实例化,保存。
from docx import Document
document = Document()#创建一个文档,也可以打开一个已经存在的文档
document.save('这是文件名.docx')
3.标题和段落
文档的内容可以在实例化后丰富和添加,docx提供了一个add命令来完成这些。
heading = document.add_heading('啊,这是一个题目')#添加一个标题
heading_2 = document.add_heading('啊,这是一个二级标题',level=2)#添加一个二级标题
paragraph = document.add_paragraph('啊,这是一个例子')#添加一个段落
prior_paragraph = paragraph.insert_paragraph_before('啊,这')#在某处插入一个段落
4.添加表格
docx提供了一个add_table的命令添加表格,同时分设了row和cols信息,然后是cells,内容可以后缀text来添加,结构类似pandas的Dateframe,大家可以借鉴参考一下。
table = document.add_table(rows=2,cols=2)
cell = table.cell(0,1)
cell.text = '啊,这是表格内容'
#将items数据填到一个表格中,标题为 姓名 年龄 职务
items = (
('刘康','32','二副'),
('柳良伟','36','大副'),
('高丽文','38','船长')
)
titles = ['姓名','年龄','职务']
table = document.add_table(rows=1,cols=3)
for i in range(len(titles)):
table.rows[0].cells[i].text = titles[i]
for item in items:
cells = table.add_row().cells
cells[0].text = item[0]
cells[1].text = item[1]
cells[1].text = item[1]
5.添加图片
图片可以用add_picture来添加。因图片的特殊性,有image size属性需要注意一下
document.add_picture('我是图片路径')
为了保持图片的可读性,docx在保持比例的前提下Inches和Cm两种简便方法。
from docx.shared import Inches
document.add_picture('我是土木.png', width=Inches(1.0))
6.添加加粗和斜体
docx提供了run的方式来添加粗体和斜体。
run = paragraph.add_run('bold')
run.bold = True
run.italic = True