本書將易懂好學的Python編程語言,與當前使用*廣泛的Office辦公軟件進行結(jié)合,旨在解決開發(fā)人員、職場人士在大批量、自動化處理表格數(shù)據(jù)、Word文檔數(shù)據(jù)、PPT數(shù)據(jù)展示、郵件的自動化處理、網(wǎng)頁的自動化操作等方面的問題,通過Python編程實現(xiàn)自動化、智能化、高效化處理辦公問題的目標,解放雙手,提升工效。
本書具備三大特點:覆蓋面廣,易學易懂,可操作性強,配視頻輔導和案例演練。本書講解Python自動化辦公的知識技能覆蓋面非常廣,不僅僅融合了Excel辦公軟件,而且還融合了我們辦公常用的Word辦公軟件、PPT辦公軟件、郵件的自動化處理、網(wǎng)頁的自動化操作,而市面上的書籍僅對Excel辦公軟件進行了融合;書中配套了微課視頻講解,學習過程中有不懂的地方,直接掃碼觀看視頻即可,方便高效;在講解Python自動化操作Office軟件、郵箱、網(wǎng)頁的時候,配備了相應的案例,這些案例使得我們能迅速達到學以致用的目的。
本書從編程零基礎(chǔ)開始學起,主要面向剛步入職場的大學生、渴望提升工作技能的普通辦公職場人士、Python自動化辦公方向程序員、Python編程愛好者。
我們在工作中時常會面臨各種各樣的辦公問題:重復性處理數(shù)據(jù)、機械性整理數(shù)據(jù)、低效整理文件等,這些問題雖然也能在網(wǎng)上找到一些第三方的軟件或工具來輔助完成,但在網(wǎng)上所花費的查找和測試時間足夠來完成任務(wù),得不償失,并且不能保證每個個性化的問題都能找到對應的解決工具。
試想一下,當需要把一千份Excel工作表中的數(shù)據(jù)篩選、整理并收集到一個新的工作簿中時,你會怎樣做?當需要將包含有一萬條數(shù)據(jù)的Excel工作表中的數(shù)據(jù)逐條拆分為新的工作簿時,你會怎樣做?當需要將一個Excel工作表中的數(shù)據(jù)映射到一千份Word模板時,你會怎樣做?當需要將一千張圖片統(tǒng)一添加文字、logo并摳背景時,你會怎樣做?凡此種種,不得不讓我們壓力山大,甚至熬夜通宵,即便這樣也不能保證所完成的數(shù)據(jù)能精準無誤。
當遇到這些類問題的時候,我們就會希望,假如自己是一名程序員那該多好!噼里啪啦敲幾行代碼,電腦就能幫我們自動完成任務(wù),從而徹底擺脫這種低效、痛苦、重復的勞動。這幾乎是每個職場人都夢寐以求的事情。當然作為一名軟件工程師,同時也是一名職場人員,對此我深有體會,所以決心寫這本書,目的是可以讓職場小白學習之后迅速成為職場達人;可以讓沒有任何編程經(jīng)驗的學員依然能輕松入門,并真正地用于工作中,提升工效;可以讓職場老人擁有一項面向未來的辦公技能。
Python自動化辦公是處理以上問題方便、簡潔、全面、行之有效的一套方案。目前市面上找不到第二種能像Python一樣解決辦公類問題這么全面、簡潔、實用的編程語言。Python編程語言簡潔又不失強大的優(yōu)點,讓越來越多的人對它情有獨鐘,所以網(wǎng)上有一句流行語叫:人生苦短,我學Python。
Python編程語言火,所以市面上有關(guān)Python編程類的書籍也非常多,也有一些將Python操作Excel數(shù)據(jù)表的圖書,但是將Python編程和辦公Office軟件(包括Excel、Word、PPT、Outlook等)全部進行結(jié)合的書籍卻是鳳毛麟角。
本書從編程零基礎(chǔ)開始學起,將人人皆可學習的Python編程語言與Excel、Word、PPT相互融合,使得Office辦公軟件如虎添翼。大批量、重復性的工作對于你,不再是痛苦煎熬,而是可能成為您一飛沖天的職場契機。
Excel是辦公中使用非常頻繁的一個表格工具與數(shù)據(jù)分析圖表制作組件,本書講解了Python的第三方庫xlwings如何操控Excel表格,如何批量處理數(shù)據(jù),對Excel重度使用者來說是非常實用的,可以快速實現(xiàn)辦公自動化、智能化的目的,極大減少重復性勞作,解放雙手。
Word也是辦公中使用非常頻繁的一個文字制作工具,Python編程與Word自動化的融合的使用場景也是非常常見的,主要講解對Word數(shù)據(jù)的讀寫操作,表格、圖片、文字的格式控制,講解如何批量處理Word數(shù)據(jù),且在本書中也會詳細講解Word和Excel融合操作,將Excel中的數(shù)據(jù)按照Word模板批量生成數(shù)千份的Word文檔,編寫的程序可以打包生成exe可執(zhí)行文件,在沒有Python的編輯環(huán)境中依然可以正常運行,這就為沒有Python環(huán)境的用戶提供了極大的便利,實現(xiàn)一鍵處理工作問題的目的。
PPT是日常辦公中進行動態(tài)展示的綜合型工具,我們使用Python編程來操作PPT,對PPT進行數(shù)據(jù)的讀寫、文字、表格、圖片的各項操作,批量處理PPT數(shù)據(jù)。針對于處理大量、重復性的PPT數(shù)據(jù),Python編程的優(yōu)勢就突顯出來了。
本書不僅重點講解了Python對Office辦公軟件的操作,還將我們?nèi)粘9ぷ髦谐S玫泥]箱進行自動化操作講解,當工作中來往郵件比較頻繁的時候,我們通常會花費大量的精力進行審閱郵件、回復郵件,有時候還會面臨批量發(fā)送郵件的問題,用Python來操作郵箱就變得非常智能化,尤其是對郵件信息的數(shù)據(jù)處理,對郵件的自動回復,批量自動發(fā)送郵件,Python的優(yōu)勢會發(fā)揮得更加明顯。
本書還講解了通過Python如何自動化操作網(wǎng)頁,使用網(wǎng)頁自動化測試庫Selenium,可以對各類網(wǎng)頁模擬人工進行自動化操作,讓網(wǎng)頁的操作也變得智能、自動化。
由于篇幅、時間和作者水平等方面的限制,本書出現(xiàn)的錯誤在所難免,敬請各位同行專家及讀者不吝指教、指正批評,作者的郵箱:longhaojiede@163.com。
前言
第1章 走進編程世界 1
本章學習目標 1
1.1 搭建編程環(huán)境 1
1.1.1 Python語言的發(fā)展 1
1.1.2 幸運程序之Hello World 2
1.2 在Windows系統(tǒng)中搭建Python編程 2
1.2.1 Windows系統(tǒng)版本安裝 2
1.2.2 環(huán)境變量配置 2
1.2.3 輸出個Python程序 3
1.3 在OS X系統(tǒng)中搭建Python編程 3
1.3.1 Mac OS版本安裝 3
1.3.2 輸出個Python程序 3
1.4 在Linux系統(tǒng)中搭建Python編程 4
1.4.1 檢查Python版本 4
1.4.2 輸出個Python程序 4
1.5 總結(jié)回顧 4
第2章 變量和簡單數(shù)據(jù)類型 5
本章學習目標 5
2.1 變量 5
2.1.1 變量命名和使用 5
2.1.2 變量賦值 6
2.2 字符串 6
2.2.1 字符串表示方法 6
2.2.2 字符串的基本操作 6
2.2.3 字符串的轉(zhuǎn)義 7
2.2.4 字符串的運算 8
2.2.5 字符串內(nèi)建函數(shù) 9
2.3 數(shù)字 10
2.3.1 浮點型 10
2.3.2 整型 10
2.3.3 布爾類型 10
2.4 數(shù)據(jù)類型轉(zhuǎn)化與運算 10
2.4.1 數(shù)據(jù)類型轉(zhuǎn)換 10
2.4.2 基本運算符 11
2.4.3 運算符的優(yōu)先級 13
2.5 代碼注釋 13
2.6 總結(jié)回顧 14
2.7 小試牛刀 14
第3章 程序控制結(jié)構(gòu) 15
本章學習目標 15
3.1 分支結(jié)構(gòu) 15
3.1.1 什么是分支結(jié)構(gòu) 15
3.1.2 if單分支結(jié)構(gòu) 15
3.1.3 if雙分支結(jié)構(gòu) 16
3.1.4 if多分支結(jié)構(gòu) 16
3.2 for計數(shù)循環(huán) 17
3.2.1 單重for循環(huán) 17
3.2.2 range()函數(shù) 18
3.2.3 嵌套可變for循環(huán) 18
3.3 while條件循環(huán) 19
3.4 停止和跳出循環(huán) 19
3.4.1 break語句 19
3.4.2 continue語句 19
3.5 總結(jié)回顧 20
3.6 小試牛刀 20
第4章 序列中的列表 22
本章學習目標 22
4.1 列表的概念 22
4.2 列表的基本操作 23
4.2.1 增加列表項 23
4.2.2 查找列表項 24
4.2.3 修改列表項 25
4.2.4 刪除列表項 25
4.3 列表分片 26
4.4 列表排序 27
4.4.1 sort()排序 27
4.4.2 reverse()排序 28
4.4.3 sorted()排序 28
4.5 總結(jié)回顧 28
4.6 小試牛刀 29
第5章 序列中的元組 30
本章的學習目標 30
5.1 認識元組 30
5.1.1 元組的概念 30
5.1.2 元組的創(chuàng)建 31
5.1.3 元組與列表的區(qū)別 31
5.2 元組的基本操作 32
5.2.1 元組的訪問 32
5.2.2 元組的修改 32
5.3 使用元組的方法 33
5.3.1 獲取長度len 33
5.3.2 求小值 33
5.3.3 列表轉(zhuǎn)換為元組 33
5.4 總結(jié)回顧 34
5.5 小試牛刀 34
第6章 序列中的字典 35
本章的學習目標 35
6.1 認識字典 35
6.1.1 字典的概念 35
6.1.2 字典對象的創(chuàng)建 36
6.2 字典的基本操作 37
6.2.1 增加字典元素 37
6.2.2 刪除字典元素 37
6.2.3 修改字典元素 37
6.2.4 查找字典元素 37
6.3 遍歷字典 38
6.3.1 遍歷鍵值對 38
6.3.2 遍歷鍵 38
6.3.3 遍歷值 38
6.4 字典嵌套 39
6.5 總結(jié)回顧 39
6.6 小試牛刀 40
第7章 Python工具體之函數(shù) 41
本章學習目標 41
7.1 函數(shù)的基本認識和用法 41
7.1.1 函數(shù)的概念 41
7.1.2 自定義函數(shù) 42
7.1.3 函數(shù)調(diào)用 42
7.2 函數(shù)的特性 42
7.2.1 函數(shù)特性之return 42
7.2.2 函數(shù)特性之位置參數(shù) 44
7.2.3 函數(shù)特性之關(guān)鍵字參數(shù) 45
7.2.4 函數(shù)特性之默認參數(shù) 45
7.2.5 函數(shù)特性之可變參數(shù) 46
7.3 函數(shù)的作用域 48
7.3.1 全局變量與局部變量 48
7.3.2 認識關(guān)鍵字global 49
7.3.3 global的進階認識 50
7.4 總結(jié)回顧 51
7.5 小試牛刀 51
第8章 類與對象 52
本章學習目標 52
8.1 類與對象的初級認識 52
8.1.1 類與對象的故事 52
8.1.2 面向?qū)ο缶幊?53
8.1.3 類與對象之Cat 55
8.2 類與對象的進階 57
8.2.1 成員變量和類變量 57
8.2.2 成員方法和類方法 60
8.2.3 屬性與方法之私有化 61
8.3 類與對象之繼承 63
8.3.1 父類和子類 63
8.3.2 方法的重寫 64
8.3.3 子類之多重繼承 65
8.3.4 super函數(shù)的應用 67
8.4 類的三大特性 68
8.4.1 三大特性的認識 68
8.4.2 類的特性之多態(tài)性 68
8.4.3 綜合實戰(zhàn) 69
8.5 總結(jié)回顧 70
8.6 小試牛刀 71
第9章 程序的異常 72
本章學習目標 72
9.1 錯誤與異常 72
9.1.1 錯誤的認識 72
9.1.2 異常的認識 73
9.2 異常的處理 74
9.2.1 代碼檢查處理 74
9.2.2 try…except語句 74
9.2.3 try…except…else語句 75
9.2.4 try…except…finally語句 76
9.2.5 自定義異常 77
9.3 總結(jié)回顧 77
9.4 小試牛刀 78
第10章 文件操作 79
本章學習目標 79
10.1 讀取文件 79
10.1.1 文本讀取 79
10.1.2 操作模式 81
10.1.3 多方式讀取 81
10.1.4 二進制文件讀取 83
10.2 寫入文件 83
10.2.1 文本寫入 83
10.2.2 追加寫入模式 84
10.2.3 with的應用 85
10.3 文件讀寫之應用 86
10.3.1 小說簡單數(shù)據(jù)分析 86
10.3.2 csv逗號分隔文件 87
10.3.3 電話備忘錄 89
10.4 總結(jié)回顧 90
10.5 小試牛刀 90
第11章 文件辦公自動化與AI應用 91
本章學習目標 91
11.1 os模塊入門 91
11.1.1 os模塊初識 91
11.1.2 文件夾的基礎(chǔ)操作 92
11.1.3 文件的基礎(chǔ)操作 94
11.1.4 文件的查詢 96
11.2 os模塊進階 97
11.2.1 os模塊walk 97
11.2.2 批量修改文件名 101
11.2.3 簡易文件管家 103
11.2.4 認識cmd指令 105
11.2.5 Python的cmd指令 107
11.2.6 定時關(guān)機 108
11.3 文字數(shù)據(jù)處理 109
11.3.1 中文分詞 109
11.3.2 文字數(shù)據(jù)分析 112
11.3.3 炫酷詞云圖 113
11.3.4 自定義詞云圖 117
11.3.5 圖形化文字 118
11.4 AI智能應用功能 120
11.4.1 強大的百度API 120
11.4.2 文字識別前奏 122
11.4.3 文字識別實戰(zhàn) 126
11.4.4 圖像識別前奏 128
11.4.5 圖像識別實戰(zhàn) 130
11.4.6 語音識別 130
11.4.7 語音合成 131
11.4.8 自然語言情感分析 132
11.4.9 智能機器人 133
11.5 總結(jié)回顧 135
11.6 小試牛刀 136
第12章 Excel操作的自動化 137
本章學習目標 137
12.1 xlrd庫的介紹和安裝 137
12.1.1 xlrd庫簡介 137
12.1.2 安裝xlrd第三方庫 137
12.1.3 安裝過程的問題處理 138
12.2 xlrd庫的使用 140
12.2.1 打開Excel工作表對象 140
12.2.2 數(shù)據(jù)讀取單個單元格 141
12.2.3 數(shù)據(jù)讀取多個單元格 141
12.2.4 Excel工作表寫入單個數(shù)據(jù) 142
12.2.5 Excel工作表寫入多個數(shù)據(jù) 143
12.2.6 Excel工作表數(shù)據(jù)復制 145
第13章 Excel格式控制 147
本章學習目標 147
13.1 設(shè)置列寬行高 147
13.2 設(shè)置表的風格樣式 149
13.2.1 風格樣式屬性 149
13.2.2 設(shè)定風格樣式 150
13.3 設(shè)置字體屬性 152
13.4 設(shè)置邊界屬性 153
13.5 設(shè)置對齊屬性 154
13.6 設(shè)置模式屬性 156
13.7 合并單元格 157
13.8 總結(jié)回顧 158
13.9 小試牛刀 158
第14章 Excel自動建表實戰(zhàn) 159
本章學習目標 159
14.1 自動化建表應用場景 159
14.2 表格數(shù)據(jù)分析 160
14.3 數(shù)據(jù)格式整理 160
14.4 數(shù)據(jù)寫入到表格 161
14.5 追加數(shù)據(jù)到表格 162
14.6 設(shè)置風格樣式 163
14.7 封裝風格樣式 164
14.8 總結(jié)回顧 167
14.9 小試牛刀 167
第15章 讓Excel自動處理飛起來 169
本章學習目標 169
15.1 xlwings庫的介紹和安裝 169
15.1.1 什么是xlwings模塊 169
15.1.2 安裝xlwings第三方庫 170
15.2 xlwings庫初體驗 171
15.2.1 與Excel工作簿建立連接 171
15.2.2 相對路徑和路徑 172
15.2.3 獲取單元格數(shù)據(jù) 173
15.2.4 工作簿文件的保存 174
15.3 xlwings庫極速入門 174
15.3.1 xlwings庫結(jié)構(gòu)分析 174
15.3.2 實例化應用 175
15.3.3 創(chuàng)建工作簿對象 176
15.3.4 創(chuàng)建工作表對象 177
15.4 xlwings庫常用的API(1) 178
15.4.1 了解API 178
15.4.2 工作表常用的API 178
15.4.3 單元格常用的API 179
15.5 xlwings庫常用的API(2) 198
15.5.1 獲取表格有效區(qū) 198
15.5.2 工作表中的函數(shù) 199
15.6 xlwings庫的拓展API 201
15.6.1 設(shè)定字體樣式 202
15.6.2 設(shè)定邊界屬性 207
15.6.3 設(shè)定對齊屬性 211
15.7 總結(jié)回顧 214
15.8 小試牛刀 214
第16章 Excel自動化處理實戰(zhàn) 215
本章學習目標 215
16.1 超市掃碼記賬系統(tǒng)案例 215
16.1.1 案例簡介 215
16.1.2 文件的打包 219
16.1.3 exe文件圖標設(shè)計 220
16.2 工作簿數(shù)據(jù)篩選 220
16.2.1 案例思路分析 220
16.2.2 模擬數(shù)據(jù)實現(xiàn) 221
16.2.3 實現(xiàn)數(shù)據(jù)篩選 223
第17章 Word文檔的自動化操作 225
本章學習目標 225
17.1 安裝Python-docx第三方庫 225
17.2 創(chuàng)建Word文檔 226
17.2.1 創(chuàng)建空白Word文檔 226
17.2.2 添加標題、段落和分頁符 227
17.3 設(shè)置Word中圖片和字體 229
17.3.1 操作圖片 229
17.3.2 設(shè)置文檔字體 231
17.4 合并多個文本文件到Word 233
17.5 Word中插入表格 235
17.6 總結(jié)回顧 237
17.7 小試牛刀 237
第18章 加載源Word文檔的操作 239
本章學習目標 239
18.1 加載源Word文檔 239
18.2 學生在校證明模板渲染案例 241
18.3 總結(jié)回顧 244
第19章 Word模板渲染 245
本章學習目標 245
19.1 docxtpl簡介 245
19.2 學生通知書渲染案例 247
第20章 Word文檔操作案例 251
本章學習目標 251
20.1 拆分Word文檔 251
20.2 合并Word文檔 253
20.3 總結(jié)回顧 255
第21章 PPT文件的自動化操作 256
本章學習目標 256
21.1 Python-pptx模塊簡介 256
21.1.1 安裝Python-pptx庫 256
21.1.2 創(chuàng)建PPT文件 257
21.2 PPT相關(guān)簡介 257
21.2.1 PPT母版與PPT幻燈片 257
21.2.2 PPT層次結(jié)構(gòu) 257
21.2.3 占位符 260
21.3 幻燈片相關(guān)操作 260
21.3.1 操作文本框 260
21.3.2 添加段落 262
21.3.3 添加圖片 263
21.3.4 添加表格 264
21.3.5 添加形狀 265
21.4 模板渲染 266
21.5 四種基本圖形 268
21.5.1 折線圖 268
21.5.2 柱形圖 269
21.5.3 餅圖和條形圖 271
21.6 刪除指定頁 271
21.7 總結(jié)回顧 272
21.8 小試牛刀 273
第22章 郵件處理自動化操作 274
本章學習目標 274
22.1 安裝yagmail、keyring第三方庫 274
22.2 關(guān)于郵箱POP3和SMTP協(xié)議 275
22.2.1 POP3和SMTP簡介 275
22.2.2 開啟POP3和SMTP協(xié)議 275
22.3 發(fā)送郵件 275
22.3.1 發(fā)送封郵件 275
22.3.2 添加圖片或鏈接 276
22.3.3 群發(fā)郵件 277
22.4 添加附件和定時器 277
22.4.1 添加附件 277
22.4.2 設(shè)置定時器 280
22.5 讀取郵件 280
22.5.1 讀取所有郵件 280
22.5.2 查看不同類型的郵件 281
22.6 刪除郵件 282
22.7 總結(jié)回顧 282
22.8 小試牛刀 283
第23章 Web的自動化操作 284
本章學習目標 284
23.1 Selenium模塊簡介 284
23.1.1 Selenium是什么 284
23.1.2 安裝及環(huán)境配置 285
23.1.3 自動加載百度頁面 286
23.2 數(shù)據(jù)解析提取 287
23.2.1 操控元素的基本方法 287
23.2.2 自動操作鼠標鍵盤 287
23.2.3 自動化交互鼠標動作鏈 288
23.2.4 模擬百度自動化搜索 288
23.3 頁面等待 290
23.3.1 顯式等待 290
23.3.2 隱式等待 291
23.4 自動獲取商城信息 292
23.4.1 設(shè)計思路 292
23.4.2 代碼演示 293
23.5 自動獲取淘寶商城信息 294
23.5.1 案例分析 294
23.5.2 代碼分析 295
23.6 總結(jié)回顧 297