docx是什么格式怎样加表格横线,docx怎么在表格中加横线

首页 > 教育 > 作者:YD1662023-04-15 07:17:38

恭喜你,你已经学会了解析docx的文本了。

是的,提取一个docx的文本,就是这么简单。你现在就可以写一个程序,可以做到把docx转为txt。

但是……有一点我要告诉你,运行代码里的wt.text可能会报错,为了便于你理解,我特意写了伪代码。实际上,要从<w:t>中取出文本内容,可以像下面这样:

import re # 导入正则库 # 构建一个正则,去除<>标签 pattern_del_tag = re.compile(r'<[^>] >',re.S) # 把<w:t>元素转为xml格式<w:t>xxx</w:t>,然后去标签 t_text = pattern_del_tag.sub('', wt.toxml())

我认为这么讲,你反而能理解。因为,不用在理解什么叫<w:t>的时候,还要分散注意力到正则表达式。

3.4 连续块 w:r

上面我们讲了如何去解析文字。但是,那太简单了。

文字是有样式的。

docx是什么格式怎样加表格横线,docx怎么在表格中加横线(13)

都在同一段w:p内的文字,它们的样式,可能不一样。

比如前两个字是红色,那么这两个字样式一样。但是,后两个字是绿色,和前面又不一样。

为了解决这个问题,docx把具有相同样式的文字,用<w:r>标签包裹。

docx是什么格式怎样加表格横线,docx怎么在表格中加横线(14)

r代表run。关于这个run的解释,很多国内文档都直接翻译为“运行”。

其实,run在英文中有很多解释。我觉得在这里更适合它的释义应该是:“一段”、“一系列”、“连续上演”。因此,我个人给这个标签起名叫:连续块。表示在这个标签之内的文本,是一个系列的,他们的特点是连续不间断的。

代码依然是处理xml文件的那一套,不是找标签就是拿属性。

还有其他的样式标签,你可以自己研究。我这里先抛砖引玉,举两个例子。

比如上面例子中的字体颜色,一般在<w:rPr>标签内。w依然表示word,r表示run,Pr表示Primp,是修饰、装饰的意思。<w:rPr>这个标签的释义就是:连续块的样式说明。类似的还有<w:pPr>,表示对段落paragraph的样式说明。<w:tcPr>,表示对表格单元格table cell的样式说明。

我们来看一下,连续块修饰<w:rPr>是如何定义的。

比如对于粗体、斜体的说明。

docx是什么格式怎样加表格横线,docx怎么在表格中加横线(15)

用代码进行判断,主要是tag的读取。能找到tag,就说明有此种样式的标记。

w_i = w_rPr.getElementsByTagName("w:i") if w_i: print("是斜体") w_b = w_rPr.getElementsByTagName("w:b") if w_i: print("是粗体")

再比如对于各种线条的说明。

docx是什么格式怎样加表格横线,docx怎么在表格中加横线(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.