萬葉集 |
---|
隱約雷鳴,陰霾天空。 |
但盼風雨來,能留你在此。 |
前言:
✌ 作者簡介:渴望力量的哈士奇 ✌,大傢可以叫我 哈士奇 ,致力於用白話講解技術知識的博主 ✌
CSDN博客專傢認證、新星計劃第三季全棧賽道 top_1 、華為雲享專傢、阿裡雲專傢博主
如果文章知識點有錯誤的地方,請指正!和大傢一起學習,一起進步
人生格言:優於別人,並不高貴,真正的高貴應該是優於過去的自己。
如果感覺博主的文章還不錯的話,還請關註、點贊、收藏三連支持一下博主哦系列專欄:
Python全棧系列 – [更新中] 【 本文在該系列】
Python零基礎入門篇
Python語法進階篇
Python自動化辦公篇
網安之路系列
網安之路踩坑篇
網安知識掃盲篇
Vulhub 漏洞復現篇
Shell腳本編程篇
Web攻防篇 2021年9月3日停止更新,轉戰先知等安全社區
滲透工具使用集錦 2021年9月3日停止更新,轉戰先知等安全社區
⭐️ 點點點工程師系列
測試神器 – Charles 篇
測試神器 – Fiddler 篇
測試神器 – Jmeter 篇
自動化 – RobotFrameWork 系列
自動化 – 基於 JAVA 實現的WEB端UI自動化
自動化 – 基於 MonkeyRunner 實現的APP端UI自動化
文章目錄
- 保存生成 word
- 生成標題
- 生成段落
- 添加圖片
- 添加表格
- 分頁
上幾章節我們主要學習瞭如何讀取文章,而主要任務是讀取文檔中的文本信息,也就是字符串,而圖片本身是不可讀的文件所以並沒有去讀取圖片。從今天開始將學習如何通過 python 腳本來自動生成一個 word 文檔。
保存生成 word
在學習如何生成一個 word 文檔之前,我們來看看如何保存生成 word 文件,因為馬上就會用到。
使用方法:
document_obj.save(文件地址) ---> /home/demo.docx
代碼示例如下:
# coding:utf-8from docx import Documentdoc = Document()doc.save('test.docx')
運行結果如下:
生成標題
使用方法:
title_obj = DocumentObj.add_heading(標題內容, 標題樣式等級)
通過 Document 對象調用 add_heading 函數 返回標題對象
。標題樣式等級:
0 <= lever <= 9
標題內容追加:
titleobj.add_run
通過標題對象調用add_run 函數
進行標題內容的追加
代碼示例如下:
# coding:utf-8from docx import Documentdoc = Document()title = doc.add_heading('this is title', 1) # 添加 word 文件的 title 標題title.add_run('\n - 測試版本') # 針對 title 標題進行內容追加(換行)doc.save('test.docx')
運行結果如下:
生成段落
使用方法:
para_obj = document_obj.add_paragraph(段落內容)
通過 Document 對象調用 add_paragraph 函數 返回段落對象
。段落內容追加:
para_obj.add_run(字符串內容)
換行方式:
\n
換行特殊字符來分割段落
代碼示例如下:
# coding:utf-8from docx import Documentdoc = Document()title = doc.add_heading('this is title', 1) # 添加 word 文件的 title 標題title.add_run('\n - 測試版本') # 針對 title 標題進行內容追加(換行)para = doc.add_paragraph('這是 \"test.docx\" 文件的第一行段落')para.add_run('\n這是 \"test.docx\" 文件追加的的第二行段落')doc.save('test.docx')
運行結果如下:
添加圖片
使用方法:
image_obj = document_obj.add_picture(圖片地址, 寬, 高)
通過 Document 對象調用 add_picture 函數 返回圖片對象
。寬高定義:
from docx.shared import Inches
add_picture(x, width=Inches(5), height=Inches(5))
代碼示例如下:
# coding:utf-8from docx import Documentfrom docx.shared import Inchesdoc = Document()title = doc.add_heading('this is title', 1) # 添加 word 文件的 title 標題title.add_run('\n - 測試版本') # 針對 title 標題進行內容追加(換行)para = doc.add_paragraph('這是 \"test.docx\" 文件的第一行段落')para.add_run('\n這是 \"test.docx\" 文件追加的的第二行段落')image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))doc.save('test.docx')
運行結果如下:
添加表格
使用方法:
table_obj = document_obj.add_table(row=行數, cols=列數)
通過 Document 對象調用 add_table 函數 返回表格對象
。
cell = table_obj.row[0].cells
表格對象調用rows
返回表格的行對象
cell[0].text = 當前行 0 列的內容
cell[1].text = 當前行 1 列的內容
表格追加:
row_cell = table.add_row().cells
代碼示例如下:
# coding:utf-8from docx import Documentfrom docx.shared import Inchesdoc = Document()title = doc.add_heading('this is title', 1) # 添加 word 文件的 title 標題title.add_run('\n - 測試版本') # 針對 title 標題進行內容追加(換行)para = doc.add_paragraph('這是 \"test.docx\" 文件的第一行段落')para.add_run('\n這是 \"test.docx\" 文件追加的的第二行段落')image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))table_title = ['name', 'age', 'sex']table = doc.add_table(rows=1, cols=3)table_cells = table.rows[0].cellstable_cells[0].text = table_title[0]table_cells[1].text = table_title[1]table_cells[2].text = table_title[2]data = [ ('Neo', '18', 'man'), ('Adem', '17', 'man'), ('Lily', '18', 'women')]for i in data: row_cells = table.add_row().cells row_cells[0].text = i[0] row_cells[1].text = i[1] row_cells[2].text = i[2]doc.save('test.docx')
運行結果如下:
分頁
使用方法:
document_obj.add_page_break()
代碼示例如下:
# coding:utf-8from docx import Documentfrom docx.shared import Inchesdoc = Document()title = doc.add_heading('this is title', 1) # 添加 word 文件的 title 標題title.add_run('\n - 測試版本') # 針對 title 標題進行內容追加(換行)para = doc.add_paragraph('這是 \"test.docx\" 文件的第一行段落')para.add_run('\n這是 \"test.docx\" 文件追加的的第二行段落')image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5)) # 添加圖片table_title = ['name', 'age', 'sex'] # 定義表格的第一行的標題table = doc.add_table(rows=1, cols=3) # 定義表格的行數、列數table_cells = table.rows[0].cells # 將 table_title 的每列的名稱寫入表格table_cells[0].text = table_title[0]table_cells[1].text = table_title[1]table_cells[2].text = table_title[2]data = [ # 定義 data 的內容,準備將其追加寫入表格 ('Neo', '18', 'man'), ('Adem', '17', 'man'), ('Lily', '18', 'women')]for i in data: # 利用 for 循環將 data 追加寫入表格 row_cells = table.add_row().cells row_cells[0].text = i[0] row_cells[1].text = i[1] row_cells[2].text = i[2]doc.add_page_break() # 添加 word 文件的分頁title = doc.add_heading('this is page_2 title', 1) # 添加 word 文件的第二分頁的 title 標題doc.save('test.docx')
運行結果如下: