內容簡介
《Python辦公自動化從入門到精通》講解如何使用Python技術實現自動化辦公。
《Python辦公自動化從入門到精通》分為兩大部分,共19章。第1部分為基礎語法,即從基礎入門開始介紹Python語言的基礎語法知識,內容對應第1章~第6章,包括初識Python、Python語法元素、程式控制語句、組合數據類型、函式、類。第2部分為高階辦公,即使用Python語言實現辦公操作,內容對應第7章~第19章,包括操作檔案、庫、操作資料夾、操作Excel檔案、操作Word檔案、操作PPT檔案、操作PDF檔案、操作HTML網頁、網路爬蟲、自動收發郵件、聊天機器人和二維碼、控制滑鼠和鍵盤、批量處理視頻。除第1章外,每一章都包含項目案例,並且在項目案例中詳細分析代碼的設計思路和編寫過程。
《Python辦公自動化從入門到精通》適用人群為需要入門Python編程的學生和需要提高辦公效率的工作人員、網路信息技術人員、視頻剪輯技術人員等。
圖書目錄
第 1章 初識Python 013
1.1 認識Python語言 014
1.1.1 程式語言概述 014
1.1.2 Python語言概述 014
1.1.3 Python語言的發展 015
1.2 搭建Python開發環境 015
1.2.1 在Windows系統中搭建開發環境 016
1.2.2 在macOS系統中搭建開發環境 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 變數的命名規則 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 循環語句 048
3.2.1 for循環 048
3.2.2 while循環 051
3.2.3 嵌套循環 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 循環訪問列表的元素 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 函式的創建 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 創建類 096
6.1.3 創建對象 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 創建資料夾 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 執行其他應用程式 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 創建新工作簿 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 獲取區域單元格 194
10.3.4 工作表中存儲數據的行數和列數 196
10.3.5 向單元格中寫入數據 196
10.3.6 插入或刪除行、列 197
10.3.7 設定行高和列寬 198
10.3.8 移動指定區域單元格 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 創建圖表 212
10.5.1 圖表的使用方法 212
10.5.2 創建面積圖 213
10.5.3 設定圖表x軸的參數 215
10.5.4 設定圖表參數 216
10.5.5 散點圖 217
10.5.6 獲取圖表 218
10.6 排序和篩選 219
10.7 創建表格 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 插入分節符 272
11.6 樣式 276
11.6.1 樣式的解析 277
11.6.2 獲取樣式 278
11.6.3 創建新樣式 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 創建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 創建容器 343
14.6.1 標籤 343
14.6.2 布局 343
14.7 創建表格 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規則 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 創建會話 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章 自動收發郵件 379
16.1 郵件的收發原理 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 傳送郵件 386
16.3.1 登錄信箱賬戶 386
16.3.2 創建郵件內容 387
16.3.3 傳送郵件 388
16.3.4 傳送附屬檔案 388
16.3.5 添加圖片 390
項目案例1 實現傳送不同檔案給不同用戶 391
項目案例2 實現傳送員工工資信息 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 傳送訊息 401
17.2.5 傳送其他訊息 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庫創建二維碼 408
17.4.3 使用QRCode庫創建二維碼 409
17.4.4 創建圖片二維碼 410
17.4.5 創建動態二維碼 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