Python + Excel 辦公自動化一本通
內容描述
本書主要面向企業數據分析需求,全面且系統地介紹瞭如何通過 Python 來分析 Excel 數據。本書主要分為 3 部分:第 1 部分是 Python 3.9 語言基礎,主要介紹 Python 的基礎知識,為之後的學習奠定基礎;第 2 部分是 Excel 數據分析,主要介紹 NumPy、Pandas、Matplotlib、Seaborn、openpyxl 和 xlwings 等內容,使讀者可以通過 Python 讀取和統計分析 Excel 數據;第 3 部分是 Excel 數據分析實踐,使讀者回歸到實際應用中,並回顧之前學習的知識。本書既適合有一定 Excel 基礎,想進一步提高工作效率的辦公人員閱讀,也適合那些需要在日常工作中處理大量和復雜數據的辦公人員閱讀,更適合 Python 初學者、編程零基礎想通過編程實現辦公自動化的人士閱讀。
目錄大綱
目錄
第1部分 Python 3.9語言基礎
第1章 計算機語言和Python簡介 2
1.1 計算機語言的分類 2
1.1.1 機器語言 2
1.1.2 彙編語言 2
1.1.3 高級語言 3
1.1.4 高級語言的發展趨勢 3
1.2 高級語言的分類 5
1.2.1 編譯型語言 5
1.2.2 解釋型語言 6
1.2.3 混合型語言 6
1.3 使用Python 7
1.3.1 為何要學習Python 7
1.3.2 在Windows操作系統中安裝Python 8
1.3.3 在Ubuntu(UNIX)操作系統中安裝Python 10
1.3.4 使用集成開發環境開發Python 11
1.4 使用Python分析Excel數據 12
1.4.1 可複用 12
1.4.2 大量數據的需求 12
1.4.3 Python易用易學 12
第2章 變量和簡單數據類型 13
2.1 變量 13
2.1.1 變量的使用 13
2.1.2 變量的命名 14
2.1.3 變量的存儲 15
2.2 Python中的數據類型 18
2.3 數字 19
2.3.1 算術運算 19
2.3.2 比較運算 21
2.3.3 賦值運算 22
2.3.4 位運算 24
2.3.5 運算符的優先級 27
2.3.6 數字計算中常見的函數 28
2.4 字符串 34
2.4.1 截取子串 35
2.4.2 字符串的運算 37
2.4.3 字符串的格式化 38
2.4.4 Python轉義字符 40
2.4.5 字符串常用的函數 42
2.5 字符串和數字相互轉換 43
2.6 代碼中的註釋 44
第3章 控制語句 46
3.1 條件語句 46
3.1.1 簡單if語句 46
3.1.2 else分支的使用 47
3.1.3 elif分支的使用 48
3.1.4 條件語句的嵌套 49
3.2 邏輯運算 50
3.2.1 邏輯運算符 51
3.2.2 邏輯運算符的優先級 53
3.2.3 改寫閏年判斷邏輯 54
3.3 循環語句 54
3.3.1 while語句 54
3.3.2 使用循環的注意事項 56
3.3.3 for語句 57
3.3.4 range函數 58
3.3.5 跳轉關鍵字break、continue和pass 59
3.3.6 循環的嵌套 61
第4章 列表 64
4.1 列表的基礎概念 64
4.1.1 創建列表 64
4.1.2 列表的遍歷和下標 64
4.2 訪問和操作列表 66
4.2.1 元素的增、刪、查、改 66
4.2.2 截取子列表 67
4.2.3 列表的嵌套 68
4.2.4 列表的其他操作 70
4.3 列表函數 71
4.3.1 常見函數 71
4.3.2 排序函數 72
第5章 元組和集合 76
5.1 元組 76
5.1.1 創建元組 76
5.1.2 遍曆元組 77
5.1.3 修改和刪除元組 78
5.1.4 截取元組 79
5.1.5 其他常見的操作 79
5.1.6 關於元組的函數 80
5.2 集合 80
5.2.1 創建集合 80
5.2.2 新增元素 81
5.2.3 刪除元素 82
5.2.4 判斷元素是否在集合中 84
5.2.5 遍歷集合 84
5.2.6 關於集合的函數 85
第6章 字典 89
6.1 創建字典 89
6.1.1 創建最基本的字典 89
6.1.2 創建空字典 90
6.1.3 使用內置函數dict創建字典 90
6.2 訪問字典 91
6.2.1 訪問字典的值 91
6.2.2 新增/修改字典的值 92
6.2.3 刪除 93
6.3 遍歷字典 94
6.3.1 對鍵的遍歷 94
6.3.2 對值的遍歷 94
6.3.3 對鍵值的遍歷 95
6.4 字典的鍵值數據類型 95
6.4.1 字典對鍵值的要求 95
6.4.2 在鍵值中使用各種數據類型 96
6.4.3 多種數據類型在字典中的應用 97
6.5 與字典相關的函數 99
第7章 函數 101
7.1 函數的定義 101
7.1.1 定義帶有返回值的函數 103
7.1.2 形參和實參 104
7.2 傳遞參數 104
7.2.1 位置實參 105
7.2.2 關鍵字實參 105
7.2.3 為參數設置默認值 106
7.3 特殊的參數 107
7.3.1 傳遞列表 107
7.3.2 傳遞元組、集合和字典 109
7.3.3 可變參數 110
7.3.4 強制參數位置和關鍵字 113
7.4 函數返回值 113
7.4.1 返回簡單數據類型 114
7.4.2 返回複雜數據類型 114
7.4.3 在循環中返回 115
7.5 函數中的參數 116
7.5.1 傳遞可更改對象與不可更改對象 116
7.5.2 函數內外變量的可見性 117
7.6 Lambda表達式 118
7.7 把函數放在不同的模塊中 119
7.7.1 將整個模塊導入主程序中 119
7.7.2 導入指定的函數 120
7.8 遞歸函數 121
第8章 類 124
8.1 類的概念 124
8.1.1 定義類和創建對象 124
8.1.2 類的屬性的訪問 126
8.1.3 封裝 129
8.2 繼承 131
8.2.1 抽象 131
8.2.2 繼承中的方法 133
8.2.3 受保護的屬性和方法 135
8.2.4 多重繼承 136
8.2.5 多態 139
8.3 拾遺 140
8.3.1 面向對象編程的內置函數 140
8.3.2 類的內部方法 142
8.3.3 類方法和靜態方法 143
8.4 導入模塊中的類 145
第9章 文件操作和標準庫 148
9.1 文件操作 148
9.1.1 文件的讀取 148
9.1.2 文件的寫入 151
9.1.3 將數據保存為JSON格式 152
9.2 日期時間 156
9.2.1 日期――date類 156
9.2.2 日期時間――datetime類 158
9.2.3 時間差――timedelta類 160
9.3 貨幣格式化 162
第10章 異常 164
10.1 異常的基礎知識 164
10.1.1 Python異常機制 165
10.1.2 except語句 166
10.1.3 else語句和finally語句 167
10.1.4 常見的異常 170
10.2 深入使用異常 172
10.2.1 主動觸發異常 172
10.2.2 自定義異常 173
10.2.3 except語句中的異常排序 174
第2部分 Excel數據分析
第11章 使用xlwings處理Excel文檔 178
11.1 xlwings的簡介和安裝 178
11.1.1 xlwings簡介 178
11.1.2 安裝xlwings 180
11.2 讀/寫Excel文檔 182
11.2.1 讀取Excel單元格數據 182
11.2.2 讀取多行數據 183
11.2.3 將數據寫入Excel 185
11.3 設置單元格 187
11.3.1 字體和格式化 187
11.3.2 邊框 188
11.3.3 合併單元格和拆分單元格 190
11.3.4 調整單元格的寬度和高度 192
11.4 處理一些常見的Excel場景 192
11.4.1 新建和讀/寫多個Excel文檔 192
11.4.2 在同一個Excel文檔中寫入多個工作表 194
11.4.3 複製數據 194
第12章 數據分析的基礎庫――NumPy 196
12.1 安裝NumPy 197
12.1.1 在Windows下的安裝 197
12.1.2 在PyCharm中使用NumPy 197
12.1.3 在Linux(Ubuntu)下安裝NumPy 197
12.2 創建ndarray對象 198
12.2.1 創建ndarray數組 198
12.2.2 創建特殊的ndarray數組 200
12.3 NumPy數組的屬性和數據類型 204
12.3.1 NumPy數組的屬性 204
12.3.2 NumPy數組的數據類型 205
12.4 NumPy切片和索引 206
12.4.1 一維數組的切片和索引 206
12.4.2 二維數組的切片和索引 207
12.4.3 高級切片和索引 208
12.5 數組的常見處理 210
12.5.1 數據預處理 210
12.5.2 數組重塑 212
12.5.3 數組合併 214
12.6 NumPy數組的運算 215
12.6.1 對元素的運算 215
12.6.2 統計分析 217
12.6.3 篩選元素 218
12.6.4 集合運算 220
12.6.5 排序 221
第13章 Pandas基礎 227
13.1 創建對應的數據結構 227
13.1.1 Series 227
13.1.2 DataFrame 229
13.2 讀/寫Excel數據 233
13.2.1 讀取Excel數據 233
13.2.2 指定讀取Excel的數據類型 238
13.2.3 寫入Excel 239
13.2.4 xlwings與Pandas的結合 241
13.3 定位數據 243
13.3.1 Series的索引和分片 243
13.3.2 DataFrame的索引和分片 244
13.3.3 loc方法和iloc方法 245
13.4 數據預處理 247
13.4.1 處理默認值 247
13.4.2 去除重複數據 250
13.4.3 數據類型轉換 253
13.5 增、刪、查、改和替換 253
13.5.1 修改元素 253
13.5.2 替換元素 254
13.5.3 刪除 255
13.5.4 新增 257
13.5.5 查找 259
13.6 讓數據運算起來 261
13.6.1 簡易算術運算 261
13.6.2 比較運算 262
13.6.3 匯總運算 263
第14章 Pandas高級應用 269
14.1 修改索引(標籤) 269
14.1.1 重設索引(標籤) 270
14.1.2 將某列設置為索引(標籤) 270
14.1.3 重命名索引(標籤) 271
14.1.4 樹形索引 272
14.2 為數據排序 273
14.2.1 沒有默認值的排序 273
14.2.2 有默認值的排序 275
14.2.3 數值排名 276
14.3 獲取唯一值 279
14.4 轉換數組 280
14.4.1 轉置 280
14.4.2 轉換視角查看數據――長表轉寬表 280
14.4.3 寬表轉長表 281
14.5 最重要的數據分析功能――分組統計 282
14.5.1 分組求筆數與求和――count方法和sum方法 283
14.5.2 對數據進行聚合運算――aggregate方法 284
14.6 通過數據透視轉換視角 287
14.6.1 pivot_table方法概述 287
14.6.2 4個常用的參數 288
14.6.3 合計行列 291
14.7 把數據連接在一起 292
14.7.1 3種關聯關係 293
14.7.2 指定關聯字段 295
14.7.3 連接方式 297
14.7.4 處理重複列 299
14.8 把數據合併在一起 300
第15章 數據可視化庫――Matplotlib 302
15.1 給圖表添加坐標系 302
15.1.1 使用面板的add_subplot方法建立坐標系 304
15.1.2 使用subplot函數建立坐標系 307
15.1.3 使用subplot2grid函數添加坐標系 309
15.1.4 使用subplots函數建立坐標系 310
15.2 設置坐標系和圖表 312
15.2.1 設置坐標軸 312
15.2.2 設置坐標軸的刻度 315
15.2.3 設置網格 318
15.2.4 圖例 320
15.2.5 設置圖表的標題 324
15. 2.6 添加數據標籤 327
15.2.7 添加圖表註釋 330
15.2.8 數據表 332
15.3 製作常見的圖表 335
15.3.1 折線圖 335
15.3.2 柱狀圖 338
15.3.3 條形圖 343
15.3.4 散點圖和氣泡圖 345
15.3.5 面積圖 347
15.3.6 雷達圖 349
15.3.7 餅圖 352
15.4 其他常用的圖表技術 356
15.4.1 雙軸圖表 356
15.4.2 圖表的樣式 358
15.4.3 圖表的保存 359
15.5 將圖片保存到Excel中 360
第16章 數據可視化庫――Seaborn 363
16.1 安裝和初識Seaborn 363
16.2 使用Seaborn繪製常見的圖表 364
16.2.1 折線圖和點線圖 364
16.2.2 柱狀圖和條形圖 368
16.2.3 散點圖 371
第3部分 Excel數據分析實踐
第17章 電商銷售數據分析 374
17.1 準備材料和分析業務 374
17.1.1 銷售明細分析 374
17.1.2 經銷員信息分析 375
17.1.3 產品信息分析 375
17.1.4 數據的關聯關係 375
17.2 數據分析流程 376
17.2.1 讀取Excel數據和數據預處理 376
17.2.2 數據分析 377
17.2.3 繪製圖表 384
17.2.4 將數據分析的結果保存到Excel中 392
第18章 個人貸款數據分析 397
18.1 業務分析 397
18.2 讀取Excel數據 399
18.3 查找數據 400
18.3.1 查找某一業務品種和不良貸款數據 400
18.3.2 根據客戶名稱進行模糊查找 401
18.3.3 查找當月發生的和當季到期的貸款 402
18.3.4 找到現存貸款餘額最大的10筆貸款 403
18.4 分組統計 403
18.4.1 按照業務品種進行分組統計 403
18.4.2 按照業務品種和其細分進行分組統計 404
18.4.3 按照客戶經理進行分組統計 405
18.5 繪製圖表 406
18.5.1 繪製客戶經理業務狀況圖表 406
18.5.2 根據業務品種繪製業務發生筆數的餅圖 407
18.5.3 測試圖表 408
附錄A 查看環境變量 410
附錄B Python關鍵字和內置函數
作者介紹
技術暢銷書作家,精通Java互聯網技術開發和實踐,擁有十餘年一線開發經驗,著有業內暢銷書《深入淺出MyBatis技術原理與實戰》《深入淺出Spring?Boot?2.x》和《Spring?Cloud微服務和分佈式系統實踐》等。寫作特點是技術點詳盡準確、文字淺顯易懂,立志於用圖書普及基本技術。