美文网首页
办公室小白的求生欲--python-docx 使用初探

办公室小白的求生欲--python-docx 使用初探

作者: 一言不合就跑步 | 来源:发表于2018-10-08 14:15 被阅读0次

    现在办公软件五花八门,但是在普通企业内部还是用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
    

    相关文章

      网友评论

          本文标题:办公室小白的求生欲--python-docx 使用初探

          本文链接:https://www.haomeiwen.com/subject/wntjaftx.html