《Python辦公自動化從入門到精通》講解如何使用Python技術實現自動化辦公。
《Python辦公自動化從入門到精通》分為兩大部分,共19章。第1部分為基礎語法,即從基礎入門開始介紹Python語言的基礎語法知識,內容對應第1章~第6章,包括初識Python、Python語法元素、程序控制語句、組合數據類型、函數、類。第2部分為高階辦公,即使用Python語言實現辦公操作,內容對應第7章~第19章,包括操作文件、庫、操作文件夾、操作Excel文件、操作Word文件、操作PPT文件、操作PDF文件、操作HTML網頁、網絡爬蟲、自動收發(fā)郵件、聊天機器人和二維碼、控制鼠標和鍵盤、批量處理視頻。除第1章外,每一章都包含項目案例,并且在項目案例中詳細分析代碼的設計思路和編寫過程。
《Python辦公自動化從入門到精通》適用人群為需要入門Python編程的學生和需要提高辦公效率的工作人員、網絡信息技術人員、視頻剪輯技術人員等。
1.本書全面覆蓋辦公領域所需的軟件,并提供多種解決思路,以及大量實際案例,符合國內職場人需求。
2.作者從事Python教學多年,具備豐富的教學經驗,理解讀者的痛點難題。
3.書課一體,立體化教學,便于讀者舉一反三。
李挺,碩士學歷,在EI檢索期刊、國內核心期刊發(fā)表過多篇學術論文,曾在上市公司從事網絡數據安全項目研發(fā),精通Python、C、Java等語言。2018年創(chuàng)辦潮享教育,至今任潮享教育CEO,專注Python系列課程開發(fā)。
第 1章 初識Python 013
1.1 認識Python語言 014
1.1.1 編程語言概述 014
1.1.2 Python語言概述 014
1.1.3 Python語言的發(fā)展 015
1.2 搭建Python開發(fā)環(huán)境 015
1.2.1 在Windows系統中搭建開發(fā)環(huán)境 016
1.2.2 在macOS系統中搭建開發(fā)環(huán)境 017
1.3 第 一個Python程序 017
1.3.1 認識IDLE 017
1.3.2 實現hello world程序 018
1.3.3 程序運行出現異常 019
1.4 Python語言代碼的特點 020
總結 020
第 2章 Python語法元素 021
2.1 輸出函數print() 022
2.1.1 函數 022
2.1.2 print()函數 022
2.2 元素的命名 025
2.2.1 變量的命名規(guī)則 025
2.2.2 賦值語句 026
2.3 基本數據類型 027
2.3.1 數據類型的介紹 027
2.3.2 檢測數據類型 035
2.3.3 強制轉換數據類型 035
2.3.4 報錯信息分析 036
2.3.5 多行處理 036
2.4 輸入函數input() 037
2.5 注釋和“使用幫助”功能 038
2.5.1 注釋功能 038
2.5.2 “使用幫助”功能 038
項目案例 實現計算器 040
總結 040
第3章 程序控制語句 041
3.1 條件判斷語句 042
3.1.1 if語句 042
3.1.2 布爾值 043
3.1.3 if+else語句 044
3.1.4 if+elif+else語句 045
3.1.5 多個elif語句 046
3.1.6 條件判斷語句的嵌套 046
3.1.7 多個條件判斷語句 047
3.1.8 if+else語句的復合寫法 048
3.2 循環(huán)語句 048
3.2.1 for循環(huán) 048
3.2.2 while循環(huán) 051
3.2.3 嵌套循環(huán) 052
3.2.4 break和continue語句 054
3.3 異常處理語句 055
3.3.1 異常處理語句的使用 055
3.3.2 異常捕獲 055
項目案例 實現模擬超市收銀系統 056
總結 058
第4章 組合數據類型 059
4.1 列表類型 060
4.1.1 列表類型的介紹 060
4.1.2 獲取列表元素 060
4.1.3 嵌套列表的索引方法 061
4.1.4 循環(huán)訪問列表的元素 062
4.1.5 列表類型的函數 062
4.1.6 列表類型的方法 063
4.2 元組類型 066
4.3 字典類型 067
4.3.1 字典類型的介紹 067
4.3.2 獲取字典元素 068
4.3.3 字典類型的方法 068
4.3.4 字典的遍歷 070
4.3.5 數據的維度 071
項目案例 實現統計學生信息 072
總結 074
第5章 函數 075
5.1 函數的創(chuàng)建 076
5.1.1 函數的介紹 076
5.1.2 函數的定義 076
5.1.3 函數的調用 077
5.1.4 函數的復用 078
5.1.5 return返回值 079
5.2 函數的參數 080
5.2.1 形參和實參 080
5.2.2 默認參數 081
5.2.3 可變參數 082
5.3 函數的變量作用范圍 084
5.3.1 函數中使用全局變量存在的問題 084
5.3.2 global聲明全局變量 085
5.3.3 *變量為可變數據 086
5.3.4 函數中的可變數據 087
5.4 導入其他模塊中的函數 088
5.4.1 導入文件模塊 088
5.4.2 導入文件中的指定函數 089
5.4.3 導入文件中的全部函數 089
5.4.4 給導入的函數設置別名 090
5.4.5 *__name__屬性 090
5.5 *函數遞歸 091
5.6 *匿名函數lambda 092
項目案例 實現復用之美 093
總結 094
第6章 類 095
6.1 類的介紹 096
6.1.1 對象的基本概念 096
6.1.2 創(chuàng)建類 096
6.1.3 創(chuàng)建對象 097
6.2 類的屬性 098
6.2.1 屬性的使用 098
6.2.2 初始化其他方法 099
6.2.3 屬性的修改 100
6.2.4 獲取類的文檔說明 101
6.3 類的繼承 101
6.3.1 類的繼承方式 101
6.3.2 在子類中添加方法 103
6.3.3 覆蓋父類中的方法 103
6.4 導入其他文件中的類 104
6.4.1 導入類 104
6.4.2 在類中使用另一個類的方法 105
6.4.3 *類的文件模塊化 106
項目案例 實現快遞機器人 107
總結 108
第7章 操作文件 109
7.1 文件 110
7.1.1 文件的介紹 110
7.1.2 文件的編碼方式 110
7.1.3 編碼與Unicode值的轉換 111
7.1.4 編碼轉換 112
7.2 操作文件 113
7.2.1 打開文件 113
7.2.2 讀取文件 118
7.2.3 寫入文件 121
7.3 文件的讀取位置和路徑 122
7.3.1 調整文件的讀取位置 122
7.3.2 絕對路徑和相對路徑 123
7.4 CSV文件 124
項目案例1 實現讀取“中國十二時辰.csv”文件 125
項目案例2 實現整理HTML網頁內容 126
總結 128
第8章 庫 129
8.1 標準庫 130
8.1.1 標準庫的介紹 130
8.1.2 標準庫的導入方法 130
8.2 時間庫 131
8.2.1 獲取時間戳 131
8.2.2 獲取時間 132
8.2.3 時間格式轉換 134
8.2.4 時間休眠 136
8.3 隨機庫 136
8.3.1 隨機生成數值 136
8.3.2 隨機選擇 137
8.3.3 隨機種子 138
8.4 正則表達式庫 139
8.4.1 匹配字符串 139
8.4.2 正則表達式 140
8.4.3 貪婪和非貪婪模式 144
8.4.4 或和組 144
8.4.5 sub()和compile()方法 145
8.5 第三方庫 146
8.5.1 第三方庫的介紹 146
8.5.2 不同領域的第三方庫 146
8.5.3 第三方庫的安裝 147
8.5.4 安裝報錯的解決方法 148
8.5.5 pip工具的常用命令 149
8.6 Pyinstaller庫 151
8.6.1 Pyinstaller庫的介紹和安裝 151
8.6.2 Pyinstaller庫的使用 151
8.6.3 其他Pyinstaller命令 153
8.7 jieba庫 154
8.7.1 jieba庫的原理分析 154
8.7.2 jieba庫的解析 154
8.7.3 jieba庫的使用 155
8.7.4 小項目案例:實現判斷評論為好評或差評 157
項目案例 實現打包游戲 159
總結 160
第9章 操作文件夾 161
9.1 操作文件路徑 162
9.1.1 獲取當前路徑 162
9.1.2 創(chuàng)建文件夾 162
9.1.3 拼接路徑 163
9.1.4 跳轉路徑 163
9.1.5 判斷相對路徑和絕對路徑 164
9.1.6 獲取文件路徑和文件名 164
9.2 操作文件和文件夾 164
9.2.1 查詢文件大小 164
9.2.2 刪除文件和文件夾 165
9.2.3 重命名文件或文件夾 165
9.2.4 復制文件 166
9.2.5 獲取文件夾中的全部文件名 166
9.2.6 判斷文件和文件夾 167
9.3 執(zhí)行其他應用程序 167
9.3.1 命令提示符窗口或終端 167
9.3.2 system()方法 169
9.3.3 popen()方法 170
9.4 壓縮和解壓文件 170
9.4.1 判斷文件是否為Zip文件 170
9.4.2 打開壓縮文件 171
9.4.3 解壓文件 172
9.4.4 壓縮文件 173
9.4.5 獲取Zip文件中文件的屬性信息 174
9.5 *sys庫 175
9.5.1 獲取Python信息 175
9.5.2 退出程序 177
9.5.3 argv獲取輸入命令 177
9.5.4 stdout、stdin和stderr 179
項目案例 實現計算文件夾的大小 180
總結 182
第 10章 操作Excel文件 183
10.1 Excel文件 184
10.1.1 Excel文件的介紹 184
10.1.2 openpyxl庫的安裝 184
10.1.3 openpyxl庫的解析 185
10.2 操作工作簿 185
10.2.1 打開工作簿 185
10.2.2 創(chuàng)建新工作簿 186
10.2.3 獲取工作表對象 187
10.2.4 增加、刪除、修改工作表 188
10.2.5 移動、復制工作表 190
10.3 操作工作表 192
10.3.1 獲取工作表中的內容 193
10.3.2 字母和數字之間的轉換 194
10.3.3 獲取區(qū)域單元格 194
10.3.4 工作表中存儲數據的行數和列數 196
10.3.5 向單元格中寫入數據 196
10.3.6 插入或刪除行、列 197
10.3.7 設置行高和列寬 198
10.3.8 移動指定區(qū)域單元格 199
10.3.9 合并單元格與取消合并 200
10.3.10 凍結窗口 200
10.3.11 插入圖片 201
10.4 操作單元格 202
10.4.1 讀取和寫入單元格值 202
10.4.2 設置字體 204
10.4.3 設置單元格填充效果 205
10.4.4 設置單元格邊框 207
10.4.5 設置單元格對齊方式 209
10.4.6 解析Excel公式 210
10.5 創(chuàng)建圖表 212
10.5.1 圖表的使用方法 212
10.5.2 創(chuàng)建面積圖 213
10.5.3 設置圖表x軸的參數 215
10.5.4 設置圖表參數 216
10.5.5 散點圖 217
10.5.6 獲取圖表 218
10.6 排序和篩選 219
10.7 創(chuàng)建表格 221
10.8 文件保護 222
10.8.1 保護工作簿 223
10.8.2 保護工作表 223
10.9 操作.xls格式文件 224
10.9.1 xlrd庫和xlwt庫的安裝 224
10.9.2 讀取.xls格式文件 225
10.9.3 讀取工作表 226
10.9.4 讀取單元格 228
10.9.5 寫入.xls格式文件 229
10.9.6 操作已存在的.xls格式文件 231
10.9.7 操作工作表 231
10.9.8 寫入單元格 233
10.9.9 樣式設置 234
10.9.10 獲取行和列 237
項目案例 實現在10分鐘內設計1008張表格 239
總結 240
第 11章 操作Word文件 241
11.1 Word文件 242
11.1.1 Word文件的介紹 242
11.1.2 python-docx庫 242
11.1.3 python-docx庫的解析 243
11.2 讀取Word文件 243
11.2.1 打開文件和保存文件 244
11.2.2 獲取文件段落對象 245
11.2.3 獲取run對象 245
11.3 run模塊 246
11.3.1 添加分隔符 247
11.3.2 獲取和修改run語句 248
11.3.3 插入圖片 249
11.3.4 設置run語句格式 250
11.3.5 小項目案例:實現設置run語句格式 259
11.4 段落 260
11.4.1 添加run模塊 261
11.4.2 設置段落對齊方式 262
11.4.3 清除段落內容 262
11.4.4 插入新段落 263
11.4.5 獲取和修改段落文字 263
11.4.6 設置段落格式 264
11.5 文檔 267
11.5.1 新增標題 268
11.5.2 新增段落 268
11.5.3 新增頁面 269
11.5.4 插入圖片 269
11.5.5 插入表格 270
11.5.6 插入分節(jié)符 272
11.6 樣式 276
11.6.1 樣式的解析 277
11.6.2 獲取樣式 278
11.6.3 創(chuàng)建新樣式 279
11.6.4 設置樣式 279
項目案例 實現操作汽車說明書文檔 280
總結 284
第 12章 操作PPT文件 285
12.1 PPT文件 286
12.1.1 PPT文件的介紹 286
12.1.2 python-pptx庫的安裝 286
12.1.3 python-pptx庫的解析 287
12.2 讀取和寫入PPT文件 287
12.2.1 打開和保存PPT文件 287
12.2.2 獲取幻燈片 289
12.2.3 添加幻燈片 289
12.3 操作形狀 291
12.3.1 形狀 291
12.3.2 形狀樹 293
12.3.3 添加形狀 293
12.3.4 添加視頻 294
12.3.5 讀取形狀的屬性信息 295
12.3.6 自選形狀 296
12.3.7 判斷形狀的文本類型 297
12.3.8 設置文本框 298
12.3.9 占位符 300
12.4 操作圖表 303
12.4.1 添加圖表 303
12.4.2 添加表格 305
12.4.3 添加圖片 308
項目案例 實現批量生成PPT文件 310
總結 314
第 13章 操作PDF文件 315
13.1 PyPDF2庫 316
13.1.1 PyPDF2庫的安裝 316
13.1.2 讀取PDF文件信息 316
13.1.3 創(chuàng)建PDF文件對象 318
13.1.4 操作PDF文件 320
13.2 pdfminer庫 325
13.2.1 pdfminer庫的安裝 325
13.2.2 PDF格式轉換工具 326
13.2.3 獲取PDF文件內容 328
項目案例 實現將PDF文件轉換為Word文件 331
總結 332
第 14章 操作HTML網頁 333
14.1 HTML網頁的介紹 334
14.1.1 簡單的HTML網頁框架 334
14.1.2 框架分析 334
14.2 常用標簽 335
14.2.1 標題標簽 335
14.2.2 段落標簽 336
14.2.3 超鏈接標簽 336
14.2.4 注釋標簽 336
14.2.5 標簽屬性 337
14.3 設置字體格式 338
14.3.1 設置字體的字形與效果 338
14.3.2 設置字體顏色 338
14.3.3 設置字體大小 339
14.4 添加多媒體 339
14.4.1 添加網頁圖片 339
14.4.2 添加網頁音頻 340
14.4.3 添加網頁視頻 341
14.5 獲取網頁資源 341
14.6 創(chuàng)建容器 343
14.6.1
標簽 343
14.6.2 布局 343
14.7 創(chuàng)建表格 344
14.7.1 表格標簽 344
14.7.2 添加表格表頭 345
14.7.3 添加表格標題 345
項目案例 實現搭建圖書網站 346
總結 348
第 15章 網絡爬蟲 349
15.1 網絡爬蟲的介紹 350
15.1.1 網絡爬蟲庫 350
15.1.2 robots.txt規(guī)則 350
15.2 requests庫和網頁源代碼 351
15.2.1 requests庫的安裝 351
15.2.2 網頁源代碼 352
15.3 獲取網頁資源 353
15.3.1 get()函數 353
15.3.2 返回response對象 355
15.3.3 小項目案例:實現處理獲取的網頁信息 357
15.4 提交信息到網頁 358
15.4.1 瀏覽器提交請求 358
15.4.2 post()函數 359
15.4.3 上傳文件的方法 359
15.5 會話 360
15.5.1 會話維持 360
15.5.2 創(chuàng)建會話 360
15.6 代理服務器 361
15.6.1 代理服務器的工作流程 361
15.6.2 獲取代理服務器 361
15.6.3 代理服務器的使用方法 362
15.7 selenium庫驅動瀏覽器 362
15.7.1 使用selenium庫前的準備 363
15.7.2 驅動瀏覽器 364
15.7.3 加載網頁 365
15.7.4 獲取渲染后的網頁代碼 368
15.7.5 小項目案例:實現批量下載網頁中的資源 368
15.7.6 獲取和操作網頁元素 369
15.7.7 小項目案例:實現上傳圖片 372
15.7.8 更多操作 373
項目案例 實現獲取圖書數據 376
總結 378
第 16章 自動收發(fā)郵件 379
16.1 郵件的收發(fā)原理 380
16.1.1 郵件傳輸協議 380
16.1.2 設置郵箱 380
16.2 接收郵件 381
16.2.1 登錄郵箱賬戶 381
16.2.2 獲取郵箱中的郵件 383
16.2.3 下載郵件內容 384
16.2.4 解析郵件頭部信息 385
16.3 發(fā)送郵件 386
16.3.1 登錄郵箱賬戶 386
16.3.2 創(chuàng)建郵件內容 387
16.3.3 發(fā)送郵件 388
16.3.4 發(fā)送附件 388
16.3.5 添加圖片 390
項目案例1 實現發(fā)送不同文件給不同用戶 391
項目案例2 實現發(fā)送員工工資信息 392
總結 394
第 17章 聊天機器人和二維碼 395
17.1 微信聊天機器人 396
17.1.1 wxpy庫的安裝 396
17.1.2 登錄微信 396
17.1.3 WechatPCAPI庫 397
17.1.4 圖靈機器人 397
17.2 釘釘群機器人 398
17.2.1 配置釘釘群機器人 398
17.2.2 webhook的介紹 399
17.2.3 組建webhook接口 400
17.2.4 發(fā)送消息 401
17.2.5 發(fā)送其他消息 402
17.3 JSON數據 404
17.3.1 JSON數據的介紹 404
17.3.2 將Python數據轉換為JSON數據 405
17.3.3 將JSON數據轉換為Python數據 406
17.4 二維碼 407
17.4.1 庫的安裝 408
17.4.2 使用MyQR庫創(chuàng)建二維碼 408
17.4.3 使用QRCode庫創(chuàng)建二維碼 409
17.4.4 創(chuàng)建圖片二維碼 410
17.4.5 創(chuàng)建動態(tài)二維碼 410
項目案例1 實現自動推送釘釘群消息 411
項目案例2 實現批量生成二維碼 412
總結 414
第 18章 控制鼠標和鍵盤 415
18.1 控制鼠標和鍵盤庫 416
18.2 控制鼠標 416
18.2.1 獲取屏幕尺寸 416
18.2.2 獲取鼠標指針位置 417
18.2.3 移動鼠標指針 417
18.2.4 單擊和雙擊 419
18.2.5 按下和彈起鼠標按鍵 421
18.2.6 拖曳鼠標指針 422
18.2.7 滾動鼠標滾輪 423
18.2.8 tween參數 423
18.3 控制鍵盤 424
18.3.1 輸入內容 424
18.3.2 按下和彈起鍵盤按鍵 425
18.3.3 順序按鍵 426
18.3.4 判斷鍵信息是否正確 426
18.3.5 其他功能 426
18.4 剪貼板庫pyperclip 428
項目案例 實現自動提交數據到應用程序 429
總結 430
第 19章 批量處理視頻 431
19.1 視頻處理庫 432
19.1.1 視頻文件的介紹 432
19.1.2 視頻處理庫的安裝 433
19.2 視頻處理 433
19.2.1 讀取視頻 433
19.2.2 導出視頻 434
19.2.3 視頻轉碼 437
19.2.4 串聯視頻 438
19.2.5 導出視頻圖片 440
19.2.6 設置視頻畫面尺寸 442
19.2.7 預覽視頻 443
19.2.8 同時顯示多個視頻 444
19.2.9 添加視頻背景 446
19.3 視頻圖片處理 447
19.3.1 圖片類ImageClip 447
19.3.2 嵌入圖片 448
19.3.3 小項目案例:實現批量生成視頻水印 450
19.4 視頻音頻處理 451
19.4.1 音頻類AudioFileClip 451
19.4.2 添加或刪除音頻 451
19.4.3 設置音頻音量 452
19.5 視頻文字處理 452
19.5.1 添加文字特效 452
19.5.2 設置滾動文字 454
項目案例 實現自動添加視頻字幕 454
總結 456
附錄 457
常見顏色碼對照表 457