python table对象_(RPA学习):Python-docx 常用方法

原标题:(RPA学习):Python-docx 常用方法

**1.**引用库

from docx import Document

**2.**新建一个空 docx

document = Document()

**3.**保存 docx

document.save(‘c:/test2.docx’)

**4.**打开指定的 docx

document = Document(‘c:/test.docx’)

**5.**在末尾增加一个段落 paragraph

paragraph = document.add_paragraph(‘Lorem ipsum dolor sit amet.’)

**6.**插入段落

使用一个段落作为“光标”,并在其上直接插入一个新段落:在段落 paragraph 前增加一个段落 prior_paragraph

prior_paragraph = paragraph.insert_paragraph_before(‘Lorem ipsum’)

**7.**添加标题

document.add_heading(‘The REAL meaning of the universe’)

增加一个级别为 2 的标题

document.add_heading(‘The role of dolphins’, level=2)

**8.**添加分页符

document.add_page_break()

**9.**添加表

table = document.add_table(rows=2, cols=2)

访问单元格:在 table 表的 0 行 1 列

cell = table.cell(0, 1)

设置单元格文本

cell.text = ‘parrot, possibly dead’

访问 table 表整行

row = table.rows[1]

row.cells[0].text = ‘Foo bar to you.’

row.cells[1].text = ‘And a hearty foo bar to you too sir!’

for row in table.rows:

for cell in row.cells:

print(cell.text)

获取表格行与列数

row_count = len(table.rows)

col_count = len(table.columns)

增加行

row = table.add_row()

示例:

get table data

items = get_things_from_database_or_something()

add table

table = document.add_table(1, 3)

populate header row

heading_cells = table.rows[0].cells

heading_cells[0].text = ‘Qty’

heading_cells[1].text = ‘SKU’

heading_cells[2].text = ‘Deion’

add a data row for each item

for item in items:

cells = table.add_row().cells

cells[0].text = str(item.qty)

cells[1].text = item.sku

cells[2].text = item.desc

预格式化表格样式

table.style = ‘LightShading-Accent1’

**10.**添加图片

document.add_picture(‘image-filename.png’)

图像大小设置

from docx.shared import Inches

document.add_picture(‘image-filename.png’, width=Inches(1.0))

**11.**应用段落样式

创建段落时定义样式

document.add_paragraph(‘Lorem ipsum dolor sit amet.’, style=‘ListBullet’)

创建段落时修改样式

paragraph = document.add_paragraph(‘Lorem ipsum dolor sit amet.’)

paragraph.style = ‘ListBullet’

**12.**应用粗体和斜体

中间有一个粗体字的段落需要三个段落,一个正常的段落,一个包含该单词的粗体,以及另一个正常的段落

paragraph = document.add_paragraph(’Lorem ipsum ’)

paragraph.add_run(‘dolor sit amet.’)

#Run 对象既有.bold 和.italic 属性

paragraph = document.add_paragraph(’Lorem ipsum ’)

run = paragraph.add_run(‘dolor’)

run.bold = True

paragraph.add_run(’ sit amet.’)

可以对结果集粗体或斜体正确的.add_run()

paragraph.add_run(‘dolor’).bold = True

is equivalent to:

run = paragraph.add_run(‘dolor’)

run.bold = True

except you don’t have a reference to run afterward

它不是必须提供的文字给.add_paragraph() 方法。这可以使你的代码更简单

paragraph = document.add_paragraph()

paragraph.add_run(’Lorem ipsum ’)

paragraph.add_run(‘dolor’).bold = True

paragraph.add_run(’ sit amet.’)

**13.**应用字符样式

可使用 add_run 创建段落时指定字符样式

paragraph = document.add_paragraph(’Normal text, ’)

paragraph.add_run(‘text with emphasis.’,‘Emphasis’)

也可以创建段落后指定字符样式

paragraph = document.add_paragraph(’Normal text, ’)

run = paragraph.add_run(‘text with emphasis.’)

run.style = ‘Emphasis’

**14.**读写 docx 文件

新建或打开文件,若指定路径则是打开文档;若没有指定路径则是新建文档

#引用库

import docx

#新建文档

doc_new = docx.Document()

#读取文档

doc = docx.Document(ur’C:\1.docx’)

#保存文档

doc.save(path_or_stream)

对象集合

python-docx 包含了 word 文档的相关对象集合。

#段落集合

doc.paragraphs

#表格集合

doc.tables

#节 集合

doc.sections

#样式集合

doc.styles

#内置图形

doc.inline_shapes

插入段落

doc.add_paragraph(u’第一段’,style=None) #插入一个段落,文本为“第一段”

#默认是不应用样式,这里也可以不写 style 参数,或者指定一个段落样式

doc.add_paragraph(u’第二段’,style=‘Heading

2’)

#这些样式都是 word 默认带有的样式,可以直接罗列出来有哪些段落样式

新增样式

from docx import Document

from docx.shared import RGBColor #这个是 docx 的颜色类

#新建文档

doc = Document()

#新增样式 (第一个参数是样式名称,第二个参数是样式类型:1 代表段落;2 代表字符;3 代表表格)

style = doc.styles.add_style(‘style name 1’, 2)

#设置具体样式 (修改样式字体为蓝色,当然还可以修改其他的,大家自己尝试)

style.font.color.rgb = RGBColor(0x0, 0x0, 0xff)

应用字符样式

字符自然是在段落里面的,可以采用下面方法给段落追加文字和设置字符样式

#插入一个空白段落

p = doc.add_paragraph('')

p.add_run(‘123’, style=“Heading 1 Char”)

p.add_run(‘456’)

p.add_run(‘789’, style=“Heading 2 Char”)

#这样一个段落就应用了两个字符样式,中间“456”就没应用样式

print p.text # 输出结果是 u’123456789’ 也还是连续的

设置字体。

当然可以不用通过设置样式对某些字进行设置,也可以直接设置。

p = doc.add_paragraph('')

r = p.add_run(‘123’)

r.font.bold = True # 加粗

r.font.italic = True # 倾斜 等等…

8、表格操作。表格也是经常用到的一种对象类型。

#新建一个 2x3 的表格,style 可以不写

table=doc.add_table(rows=2,cols=3,style=None)

#可以用 table 的 rows 和 columns 得到这个表格的行数和列数

print len(table.rows)

print len(table.columns)

#遍历表格

for row in table.rows:

row.cells[0].text = ‘1’

#print row.cells[0].text

#新增行或列

table.add_row()

table.add_column()

**15.**获取段落文本

doc = Document(r’C:\test.docx’)

#变量 doc 为 docx.document.Document 类型

#doc.paragraphs 为 list 类型

for i in doc.paragraphs:

temp_str=i.text

#变量 temp_str 为 str 类型

print(temp_str)返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu13.10无法登陆

在启动时到了登录界面后,输入用户名和密码,系统黑一下屏又回到了登录界面,怎么也进不去? 这时,按CtrlAltF1可以进入普通用户shell,CtrlAltF2可以进入root用户shell,AltF7可以回到图形界面。 进…

无法定位程序输入点 except_软件测试中的功能测试点(三)

testkuaibao|软件测试自学公众号26.输入法半角全角检查再输入信息中,输入一个或连串空格,查看系统如何处理,如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“.”,如4.5);输入全角的空格等。 27…

ASP.NET站点跨子域名单点登陆(SSO)的实现

http://blog.csdn.net/jason_dct/article/details/8502075 ASP.NET站点跨子域名单点登陆(SSO)的实现 在MSDN的文档“配置跨应用程序的 Forms 身份验证(http://msdn2.microsoft.com/zh-CN/library/eb0zx8fc.aspx)” 中,…

linux实验三makefile,实验平台上Makefile详细的解释

作者:甘老师,华清远见嵌入式学院讲师。# CORTEX-A8 PERI DRIVER CODE# VERSION 2.0# ATHUOR www.linuxidc.com# MODIFY DATE#2013.03.28 Makefile/***(下面的解释将用这个的形式进行标注)写好的源文件,要编译成二进制文件.需要指定工具链的,这里指定我们的工具链是…

python esp8266模块_ESP8266使用笔记之常用固件

开发板使用的是NodeMCU开发板:目录1.学习使用ESP8266官方的SDK1.1使用SDK提供的AT固件1.2使用SDK Build固件2.学习使用NodeMCU固件(上层可使用Lua开发)和MicroPython固件(上层可使用MicroPython开发)学习使用ESP8266官方的SDK使用AT固件:下载开发包&…

基础C#总结

由于在学习c#这段视频是为了辅助设计模式的学习,这部分的内容也和VB的内容很大程度上是一样的.虽然在开始的 时候,有些困难.在接触了一些例子和实验后.理解起来变得顺畅了很多.下面是对c#基础内容的总结.很多内容都在VB中有 过接触,所以都是些基础知识.捋一捋,将这些时间脑子的…

e站app改内置hosts_米家踢脚线电暖器E评测:符合现代家居审美 全屋取暖“小钢炮”...

【科技犬】对于没有集中供暖的长江中下游地区居民而言,电暖器是不折不扣的"保命神器"。而在深秋的北方,昼夜温差较大,这种时候使用灵活、易于搬运的电暖器也成为更加明智的选择。在北方每年的冬季,室内温度就直接关系着…

asterisk libxml2

asterisk 在configure的时候,会去/usr/bin下检查有没有xml2-config这个可执行文件,还回去检查 编译的工具链中有没有libxml2.so这个库文件,即使是交叉编译,/usr/bin下应该也是上位机的xml2-config 而且xml2-config和libxml2.so的…

锐炬显卡可以linux吗,Intel Broadwell桌面CPU性能测试:Iris Pro 6200核显无敌了

Intel已经在Computex 2015发布了Broadwell-H桌面版处理器,分别有Core i7-5775C和Core i5-5765C两款,另有3款BGA封装的嵌入式型号。它们的特色是内置Intel史上最强Iris Pro 6200核显、以及较大的超频空间。这款处理器现在已经解禁,发布了评测&…

经纬度转化为xy坐标系_Arcgis添加经纬度矢量点

今天帮舍友作图,才体会到九边说的。学技术使人清醒,清醒的认识自己能力有限。少去网上怨天怨地,踏踏实实去提升实力。这是她给我的原始数据,一堆经纬度点。首先我们先进行数据去重,当然这一步可以根据自己数据考虑是否…

CSS中class优先级问题

CSS中class样式的优先级&#xff08;或者层叠效果&#xff09;是根据class在<style>或者css文件中定义的顺序比较&#xff0c;而不是根据class应用的顺序&#xff0c;定义越靠后优先级越高&#xff1b;如 <html> <style>.class1{color:red;}.class2{color:bl…

惊群现象

引用&#xff1a;http://www.cppblog.com/isware/archive/2011/07/20/151470.aspx-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------“据说”…

物联网课程学习目标_学习攻略|软件工程统计方法amp;amp;物联网

软件工程统计方法&&物联网任课老师&#xff1a;余松森&#xff0c;葛红课程特点及困难本课程的主要内容涉及统计机器学习方法&#xff0c;以及如何采用Python进行应用实现。同学们在学习中主要遇到以下问题&#xff1a;1、在课程内容方面&#xff0c;课本上的关于pytho…

笨办法学linux dhcp,iptables使用指南(上)

iptables-save用来把当前的规则存入一个文件里以备iptables-restore使用。它的使用很简单&#xff0c;只有两个参数&#xff1a;iptables-save [-c] [-t table]参数-c的作用是保存包和字节计数器的值。这可以使我们在重启防火墙后不丢失对包和字节的统计。带-c参数的iptables-s…

tdk怎么设置_你真的做好网站的标题、描述、关键词(TDK)设置了吗?

SEO其实是个苦活累活&#xff0c;大部分的工作都是在每日不断的坚持与重复。当然也是个细致活&#xff0c;很多的工作都是对一些细节问题的处理。可能平时你没留意到的地方&#xff0c;就是你的网站数据没能上来的原因。比如说SEO的基础设置&#xff1a;TDK。说到TDK(标题、描述…

流言终结者——C语言内存管理

写在前头&#xff1a; 我不能保证此文中&#xff0c;我的观点和理解全是对的&#xff0c;这也不是一篇教学贴&#xff0c;只是我偶尔突发奇想了几个特殊的场景&#xff0c;然后用实验得到结果&#xff0c;对结果进行分析&#xff0c;遂成此文。所以文中肯定存在错误&#xff0c…

mediastreamer2 的简介

原文&#xff1a;http://www.linphone.org/eng/documentation/dev/mediastreamer2.htmlMediastreamer2 是一个功能强大且小巧的流引擎&#xff0c;专门为音视频电话应用而开发。这个库为linphone中所有的接收、发送多媒体流提供处理&#xff0c;包括音/视频捕获&#xff0c;编码…

C# 监控字段_监控交换机选择:千兆/百兆/核心/PoE/光纤交换机选型指南

我们就交换机选型时的四个主要方面讲一下。01选择千兆还是百兆&#xff1f;视频监控系统的网络中&#xff0c;需要传输大量、持续的视频数据&#xff0c;这就要求交换机具有稳定转发数据的能力。交换机接入的摄像头数量越多&#xff0c;流经该交换机的数据量就会越大。我们可以…

python 头条 上传_Python+selenium自动化之文件上传

邮箱的主要功能就是邮件消息的收发阅读&#xff0c;之前的文章写了邮件的查收和编写&#xff0c;本篇介绍邮件的附件上传。还是以腾讯企业邮箱为例&#xff0c;进行实际案例操作。文件上传的实现大体分为两种&#xff0c;一种是input标签&#xff0c;一种非input标签。腾讯企业…

JAVA学习笔记——JAVA基础语法之精华

一、标识符 概念&#xff1a;JAVA里面我们可以给他取名字的&#xff08;变量、类、方法等等&#xff09;就是标识符&#xff1a; 注意&#xff1a;1、标识符只能包含字母、数字、下划线还有美元符号$ 2、只能以字母、下划线和美元符号开头 二、变量 概念&#xff1a;JAVA中储存…