前言 xiii
第 一部分 Python入門
第 1 章 為什么要用Python為Excel編程 3
1.1 Excel作為一門編程語言 4
1.1.1 新聞中的Excel 5
1.1.2 編程實踐 5
1.1.3 現代Excel 10
1.2 用在Excel上的Python 11
1.2.1 可讀性和可維護性 11
1.2.2 標準庫和包管理器 12
1.2.3 科學計算 13
1.2.4 現代語言特性 14
1.2.5 跨平臺兼容性 15
1.3 小結 15
第 2 章 開發(fā)環(huán)境 17
2.1 Anaconda Python發(fā)行版 18
2.1.1 安裝 18
2.1.2 Anaconda Prompt 19
2.1.3 Python REPL:交互式Python會話 21
2.1.4 包管理器:Conda和pip 22
2.1.5 Conda環(huán)境 24
2.2 Jupyter筆記本 24
2.2.1 運行Jupyter筆記本 25
2.2.2 筆記本單元格 26
2.2.3 編輯模式與命令模式 28
2.2.4 執(zhí)行順序很重要 28
2.2.5 關閉Jupyter筆記本 28
2.3 VS Code 30
2.3.1 安裝和配置 31
2.3.2 執(zhí)行Python腳本 33
2.4 小結 36
第 3 章 Python入門 37
3.1 數據類型 37
3.1.1 對象 38
3.1.2 數值類型 39
3.1.3 布爾值 41
3.1.4 字符串 42
3.2 索引和切片 43
3.2.1 索引 43
3.2.2 切片 44
3.3 數據結構 45
3.3.1 列表 45
3.3.2 字典 47
3.3.3 元組 49
3.3.4 集合 49
3.4 控制流 50
3.4.1 代碼塊和pass語句 50
3.4.2 if 語句和條件表達式 51
3.4.3 for 循環(huán)和while循環(huán) 52
3.4.4 列表、字典和集合推導式 55
3.5 組織代碼 56
3.5.1 函數 56
3.5.2 模塊和import語句 57
3.5.3 datetime類 59
3.6 PEP 8:Python風格指南 61
3.6.1 PEP 8和VS Code 62
3.6.2 類型提示 63
3.7 小結 64
第二部分 pandas入門
第4 章 NumPy基礎 67
4.1 NumPy入門 67
4.1.1 NumPy數組 67
4.1.2 向量化和廣播 69
4.1.3 通用函數 70
4.2 創(chuàng)建和操作數組 71
4.2.1 存取元素 71
4.2.2 方便的數組構造器 72
4.2.3 視圖和副本 73
4.3 小結 73
第 5 章 使用pandas進行數據分析 74
5.1 DataFrame和Series 74
5.1.1 索引 76
5.1.2 列 79
5.2 數據操作 80
5.2.1 選取數據 80
5.2.2 設置數據 85
5.2.3 缺失數據 87
5.2.4 重復數據 89
5.2.5 算術運算 90
5.2.6 處理文本列 91
5.2.7 應用函數 92
5.2.8 視圖和副本 93
5.3 組合DataFrame 94
5.3.1 連接 94
5.3.2 連接和合并 95
5.4 描述性統計量和數據聚合 97
5.4.1 描述性統計量 97
5.4.2 分組 98
5.4.3 透視和熔化 99
5.5 繪圖 100
5.5.1 Matplotlib 100
5.5.2 Plotly 102
5.6 導入和導出DataFrame 104
5.6.1 導出CSV文件 105
5.6.2 導入CSV文件 106
5.7 小結 107
第6 章 使用pandas進行時序分析 109
6.1 DatetimeIndex 110
6.1.1 創(chuàng)建DatetimeIndex 110
6.1.2 篩選DatetimeIndex 112
6.1.3 處理時區(qū) 113
6.2 常見時序操作 114
6.2.1 移動和百分比變化率 114
6.2.2 基數的更改和相關性 116
6.2.3 重新采樣 118
6.2.4 滾動窗口 119
6.3 pandas的局限性 120
6.4 小結 121
第三部分 在Excel之外讀寫Excel文件
第 7 章 使用pandas操作Excel文件 125
7.1 案例研究:Excel報表 125
7.2 使用pandas讀寫Excel文件 128
7.2.1 read_excel函數和ExcelFile類 128
7.2.2 to_excel方法和ExcelWriter類 133
7.3 使用pandas處理Excel文件的局限性 134
7.4 小結 135
第 8 章 使用讀寫包操作Excel文件 136
8.1 讀寫包 136
8.1.1 何時使用何種包 137
8.1.2 excel.py模塊 138
8.1.3 OpenPyXL 139
8.1.4 XlsxWriter 143
8.1.5 pyxlsb 145
8.1.6 xlrd、xlwt和xlutils 146
8.2 讀寫包的高級主題 149
8.2.1 處理大型Excel文件 149
8.2.2 調整DataFrame在Excel中的格式 152
8.2.3 案例研究(復習):Excel報表 157
8.3 小結 158
第四部分 使用xlwings對Excel應用程序進行編程
第 9 章 Excel自動化 161
9.1 開始使用xlwings 162
9.1.1 將Excel用作數據查看器 162
9.1.2 Excel對象模型 163
9.1.3 運行VBA代碼 170
9.2 轉換器、選項和集合 170
9.2.1 處理DataFrame 171
9.2.2 轉換器和選項 172
9.2.3 圖表、圖片和已定義名稱 174
9.2.4 案例研究(再次回顧):Excel報表 177
9.3 高級xlwings主題 179
9.3.1 xlwings的基礎 179
9.3.2 提升性能 180
9.3.3 如何彌補缺失的功能 181
9.4 小結 182
第 10 章 Python驅動的Excel工具 183
10.1 利用xlwings將Excel用作前端 183
10.1.1 Excel插件 184
10.1.2 quickstart命令 185
10.1.3 Run main 186
10.1.4 RunPython函數187
10.2 部署 191
10.2.1 Python依賴 191
10.2.2 獨立工作簿:脫離xlwings插件 191
10.2.3 配置的層次關系 192
10.2.4 設置 193
10.3 小結 194
第 11 章 Python包追蹤器 195
11.1 構建什么樣的應用程序 195
11.2 核心功能 197
11.2.1 Web API 198
11.2.2 數據庫 201
11.2.3 異常 208
11.3 應用程序架構 210
11.3.1 前端 211
11.3.2 后端 215
11.3.3 調試 217
11.4 小結 219
第 12 章 用戶定義函數 220
12.1 UDF入門 220
12.2 案例研究:Google Trends 225
12.2.1 Google Trends簡介 225
12.2.2 使用DataFrame和動態(tài)數組 226
12.2.3 從Google Trends上獲取數據 231
12.2.4 使用UDF繪制圖表 234
12.2.5 調試UDF 236
12.3 高級UDF主題 238
12.3.1 基礎性能優(yōu)化 238
12.3.2 緩存 240
12.3.3 sub裝飾器 242
12.4 小結 243
附錄A Conda環(huán)境 245
附錄B 高級VS Code功能 248
附錄C 高級Python概念 253