国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python讀寫docx文件的方法

2020-01-04 15:09:02
字體:
供稿:網(wǎng)友

Python讀寫word文檔有現(xiàn)成的庫可以處理。我這里采用 python-docx。可以用pip install python-docx安裝一下。

這里說一句,ppt和excel也有類似的庫哦,而且是直接讀取文件里面的xml數(shù)據(jù)。所以doc格式得另找其他庫處理,doc格式不是基于xml的。

幫助文檔:http://python-docx.readthedocs.org/en/latest/

1、新建或打開文件。這個(gè)比較簡(jiǎn)單用docx的Document類,若指定路徑則是打開文檔;若沒有指定路徑則是新建文檔

#coding:utf-8import docx #新建文檔doc_new = docx.Document() #讀取文檔doc = docx.Document(ur'C:/1.docx')

2、保存文件。有打開,就有保存。用Document類的save方法,其中參數(shù)是保存的文件路徑,或者要保存的文件流。一般指定路徑即可。

doc.save(path_or_stream)

3、對(duì)象集合。python-docx包含了word文檔的相關(guān)對(duì)象集合。

doc.paragraphs #段落集合doc.tables #表格集合doc.sections #節(jié) 集合doc.styles #樣式集合doc.inline_shapes #內(nèi)置圖形 等等...

4、插入段落。段落是word最基本的對(duì)象之一。

doc.add_paragraph(u'第一段',style=None) #插入一個(gè)段落,文本為“第一段”#默認(rèn)是不應(yīng)用樣式,這里也可以不寫style參數(shù),或者指定一個(gè)段落樣式doc.add_paragraph(u'第二段',style='Heading 2') #這些樣式都是word默認(rèn)帶有的樣式,可以直接羅列出來有哪些段落樣式print [s.name for s in doc.styles if s.type==1]

5、新增樣式。這個(gè)幫助文檔里面說得不仔細(xì),而且還是英文的。我手頭上的項(xiàng)目用到這個(gè),就自己琢磨出怎么使用,如下。

#coding:utf-8from docx import Documentfrom docx.shared import RGBColor #這個(gè)是docx的顏色類 #新建文檔doc = Document() #新增樣式(第一個(gè)參數(shù)是樣式名稱,第二個(gè)參數(shù)是樣式類型:1代表段落;2代表字符;3代表表格)style = doc.styles.add_style('style name 1', 2) #設(shè)置具體樣式(修改樣式字體為藍(lán)色,當(dāng)然還可以修改其他的,大家自己嘗試)style.font.color.rgb = RGBColor(0x0, 0x0, 0xff)

6、應(yīng)用字符樣式。字符自然是在段落里面的,可以采用下面方法給段落追加文字和設(shè)置字符樣式。

#插入一個(gè)空白段落p = doc.add_paragraph('')p.add_run('123', style="Heading 1 Char")p.add_run('456')p.add_run('789', style="Heading 2 Char") #這樣一個(gè)段落就應(yīng)用了兩個(gè)字符樣式,中間“456”就沒應(yīng)用樣式print p.text #輸出結(jié)果是u'123456789' 也還是連續(xù)的

7、設(shè)置字體。當(dāng)然可以不用通過設(shè)置樣式對(duì)某些字進(jìn)行設(shè)置,也可以直接設(shè)置。

p = doc.add_paragraph('')r = p.add_run('123')r.font.bold = True #加粗r.font.italic = True #傾斜 等等...

8、表格操作。表格也是經(jīng)常用到的一種對(duì)象類型。

#新建一個(gè)2x3的表格,style可以不寫table=doc.add_table(rows=2,cols=3,style=None) #可以用table 的rows和columns得到這個(gè)表格的行數(shù)和列數(shù)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()

Word常見操作差不多就是這些。大家可以查看幫助文檔,也可以用dir和help查看對(duì)象的方法屬性和幫助。

以上這篇Python讀寫docx文件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沾化县| 台江县| 奇台县| 钟祥市| 太白县| 浦北县| 胶南市| 平阳县| 清涧县| 睢宁县| 柳江县| 宁乡县| 岐山县| 丽江市| 廉江市| 济阳县| 建昌县| 隆化县| 南投县| 新巴尔虎左旗| 航空| 房产| 黄梅县| 营口市| 海阳市| 石泉县| 郑州市| 仙桃市| 洪湖市| 镇巴县| 文山县| 东源县| 镇平县| 郴州市| 大新县| 淮南市| 洛川县| 武平县| 屏山县| 永宁县| 香港 |