Python之word文檔替換字符串(也可以用於短模板套用)


Python之word文檔替換字符串(也可以用於短模板套用),代碼如下:

 1 '''
 2     #word模板套用1:創建模板,適合比較短的文檔
 3 '''
 4 
 5 #導入所需庫
 6 from docx import Document
 7 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
 8 from docx.shared import Pt
 9 from docx.oxml.ns import qn
10 
11 #開始創建文檔
12 document = Document()
13 #設置文檔的初始字體
14 document.styles['Normal'].font.name = '黑體'
15 #設置文檔的中文初始字體
16 document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'黑體')
17 
18 #創建函數來批量添加內容
19 def add_context(context):
20     #函數體開始
21     #新建段落
22     p = document.add_paragraph()
23     #設置段落對齊格式
24     p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
25     #向段落添加內容
26     r = p.add_run(str(context))
27     #因為文檔的樣式在代碼開始的時候就設置了,這里只設置字體段落文字的字體大小就好了,有需要可以添加
28     r.font.size = Pt(16)
29     #設置段前段后距離
30     p.space_after = Pt(5)
31     p.space_before = Pt(5)
32 #指定好要替換的內容
33 change = '哈士奇'
34 #開始添加內容
35 add_context('漢皇重色思傾國,御宇多年求不得。楊家有%s初長成,養在深閨人未識。' % change) #將'女'替換成‘哈士奇'
36 add_context('天生麗質難自棄,一朝選在君王側。回眸一笑百媚生,六宮粉黛無顏色。')
37 add_context('春寒賜浴華清池,溫泉水滑洗凝脂。侍兒扶起嬌無力,始是新承恩澤時。')
38 add_context('雲鬢花顏金步搖,芙蓉帳暖度春宵。春宵苦短日高起,從此君王不早朝。')
39 add_context('承歡侍宴無閑暇,春從春游夜專夜。后宮佳麗三千人,三千寵愛在一身。')
40 add_context('金屋妝成嬌侍夜,玉樓宴罷醉和春。姊妹弟兄皆列土,可憐光彩生門戶。')
41 add_context('遂令天下父母心,不重生男重生%s。驪宮高處入青雲,仙樂風飄處處聞。' % change) #將'女'替換成‘哈士奇'
42 add_context('緩歌慢舞凝絲竹,盡日君王看不足。漁陽鼙鼓動地來,驚破霓裳羽衣曲。')
43 
44 #保存文檔
45 document.save('D:/路徑/替換%s操作展示.docx' % (change))

上面是單一替換,下面替換多個:

 1 '''
 2     #word模板套用1:創建模板,適合比較短的文檔
 3 '''
 4 
 5 #導入所需庫
 6 from docx import Document
 7 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
 8 from docx.shared import Pt
 9 from docx.oxml.ns import qn
10 
11 #創建一個要替換的列表
12 dog_list = ['哈士奇','阿拉斯加','薩摩']
13 #開始循環列表
14 for change in dog_list:
15     #開始創建文檔
16     document = Document()
17     #設置文檔的初始字體
18     document.styles['Normal'].font.name = '黑體'
19     #設置文檔的中文初始字體
20     document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'黑體')
21 
22     #創建函數來批量添加內容
23     def add_context(context):
24         #函數體開始
25         #新建段落
26         p = document.add_paragraph()
27         #設置段落對齊格式
28         p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
29         #向段落添加內容
30         r = p.add_run(str(context))
31         #因為文檔的樣式在代碼開始的時候就設置了,這里只設置字體段落文字的字體大小就好了,有需要可以添加
32         r.font.size = Pt(16)
33         #設置段前段后距離
34         p.space_after = Pt(5)
35         p.space_before = Pt(5)
36    
37     #開始添加內容
38     add_context('漢皇重色思傾國,御宇多年求不得。楊家有%s初長成,養在深閨人未識。' % change) #將'女'替換成‘哈士奇'
39     add_context('天生麗質難自棄,一朝選在君王側。回眸一笑百媚生,六宮粉黛無顏色。')
40     add_context('春寒賜浴華清池,溫泉水滑洗凝脂。侍兒扶起嬌無力,始是新承恩澤時。')
41     add_context('雲鬢花顏金步搖,芙蓉帳暖度春宵。春宵苦短日高起,從此君王不早朝。')
42     add_context('承歡侍宴無閑暇,春從春游夜專夜。后宮佳麗三千人,三千寵愛在一身。')
43     add_context('金屋妝成嬌侍夜,玉樓宴罷醉和春。姊妹弟兄皆列土,可憐光彩生門戶。')
44     add_context('遂令天下父母心,不重生男重生%s。驪宮高處入青雲,仙樂風飄處處聞。' % change) #將'女'替換成‘哈士奇'
45     add_context('緩歌慢舞凝絲竹,盡日君王看不足。漁陽鼙鼓動地來,驚破霓裳羽衣曲。')
46 
47     #保存文檔
48     document.save('D:/路徑/替換%s操作展示.docx' % (change))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM