從Excel到Python:用Python輕松處理Excel數據

曾賢志

買這商品的人也買了...

相關主題

商品描述

本書是寫給非IT領域職場辦公人員的Python數據處理指南。
因為本書面對的不是專業的程序員,所以在敘述上通俗易懂。
為了讓讀者在學習時對Python的知識點有更深刻的印象,書本採用了即學即用的寫作方式:在介紹知識點的同時,及時將知識點穿插到案例應用中。
而案例應用採用“提出要解決的問題→找到解決問題的思路→展示完成前後的對比效果→提供解決問題的代碼→逐步分析代碼”的方式進行講解,使讀者既學會了Python的知識點,也釐清瞭解決問題的思路,同時掌握了代碼的編寫技巧。
本書主要內容包括Python基礎、Python第三方庫、循環語句與分支語句、字符串處理技術、列表處理技術、元組處理技術、字典處理技術、集合處理技術、Python自定義函數、常用高階函數應用、openpyxl庫及Python與Excel綜合應用案例。

作者簡介

曾賢志Office培訓專家特邀技術圖書作者51CTO學院金牌講師(累積240萬名學員學習課程)我要自學網專家講師(課程點擊量累計超過5億人次)擅長講授VBA、SQL、Power BI、Python等技術。

目錄大綱

目錄

第1章
Python基礎――學習Python必知必會 1
1.1 什麼是Python 2
1.2 為什麼要學習用Python處理Excel表格 2
1.3 手把手教你安裝Python 2
1.3.1 下載Python 3
1.3.2 安裝Python 4
1.3.3 驗證是否安裝成功 9
1.4 安裝Python集成開發工具PyCharm 10
1.4.1 下載PyCharm 10
1.4.2 安裝PyCharm 11
1.4.3 設置PyCharm 15
1.4.4 創建項目 18
1.5 Python的輸出與輸入 20
1.5.1 輸出 20
1.5.2 輸入 21
1.6 Python的代碼註釋 22
1.6.1 單行註釋 22
1.6.2 多行註釋 23
1.7 Python對象詳解 23
1.7.1 類的定義 24
1.7.2 對象的身份 24
1.7.3 對象的類型 24
1.7.4 對象的值 25
1.7.5 對象的屬性 25
1.7.6 對象的方法 25
1.7.7 對象與變量 25
1.8 Python中的數字與字符串 26
1.8.1 數字 26
1.8.2 字符串 27
1.9 算術運算符 28
1.9.1 加(+) 28
1.9.2 減(?) 28
1.9.3 乘(*) 29
1.9.4 除(/) 29
1.9.5 取模(%) 29
1.9.6 冪(**) 29
1.9.7 取整數(//) 30
1.10 比較運算符 30
1.10.1 等於(==) 30
1.10.2 不等於(!=) 30
1.10.3 大於(>) 30
1.10.4 小於(<) 31
1.10.5 大於或等於(>=) 31
1.10.6 小於或等於(<=) 31
1.11 賦值運算符 31
1.11.1 賦值運算 32
1.11.2 累積式賦值運算 32
1.12 邏輯運算符 33
1.12.1 and(與) 33
1.12.2 or(或) 34
1.12.3 not(非) 34
1.13 成員運算符 35
1.14 格式化字符串 35
1.14.1 使用位置和關鍵字格式化字符串 35
1.14.2 數字格式設置 36
1.14.3 對齊設置 36
1.15 斷點調試 37

第2章
Python庫――第三方庫的安裝與學習 39
2.1 什麼是模塊、包、庫 40
2.2 安裝Excel讀取庫xlrd 40
2.3 xlrd模塊導入 42
2.4 讀取Excel工作簿、工作表信息 43
2.4.1 讀取Excel工作簿 43
2.4.2 讀取Excel工作表 43
2.5 讀取Excel行、列、單元格信息 44
2.6 安裝Excel寫入庫xlwt 46
2.7 新建工作簿、新建工作表和將數據寫入單元格 47
2.8 安裝Excel修改庫xlutils 48
2.9 修改工作簿、工作表、單元格 48

第3章
Python流程控制――循環語句與分支語句 50
3.1 for循環語句 51
3.1.1 循環字符串 51
3.1.2 循環序列數 52
3.1.3 for循環語句應用案例:批量新建工作簿 53
3.1.4 for嵌套循環語句 54
3.1.5 for嵌套循環語句應用案例:製作九九乘法表 56
3.2 while循環語句 57
3.2.1 循環序列數 58
3.2.2 循環字符串 59
3.2.3 while循環語句應用案例:批量新建工作表 59
3.2.4 while嵌套循環語句 61
3.2.5 while嵌套循環語句應用案例:批量新建工作簿、工作表 62
3.3 if條件語句 63
3.3.1 if條件語句標準用法 63
3.3.2 if條件語句應用案例:根據分數判斷等級 64
3.4 if條件分支語句 65
3.4.1 if條件分支語句標準用法 66
3.4.2 if條件分支語句單行寫法 66
3.4.3 if條件分支語句應用案例:對數字進行分類計數 67
3.5 if多條件分支語句 68
3.5.1 if多條件分支語句標準用法 69
3.5.2 if多條件分支語句應用案例:對分數進行多等級判斷 70
3.6 break語句 72
3.6.1 break在while循環語句中的應用 72
3.6.2 break在for循環語句中的應用 72
3.6.3 break語句應用案例:標記達標時的首個月份 73
3.7 continue語句 74
3.7.1 continue在while循環中的應用 74
3.7.2 continue在for循環中的應用 75
3.7.3 continue語句應用案例 75

第4章
Python有序對象――字符串處理技術 77
4.1 字符串切片 78
4.1.1 單字符切片 78
4.1.2 多字符切片 78
4.1.3 字符串切片應用案例:根據身份證號判斷性別 79
4.2 字符串統計 81
4.2.1 統計字符串長度 81
4.2.2 按條件統計字符串 81
4.2.3 字符串統計應用案例:統計各等級出現的次數 82
4.3 字符串搜索 84
4.3.1 使用index函數搜索字符串位置 84
4.3.2 使用find函數搜索字符串位置 85
4.3.3 字符串搜索應用案例:提取指定位置的信息 86
4.4 字符串替換 87
4.4.1 字符串替換 87
4.4.2 字符串替換應用案例:整理不規範的分隔符 88
4.5 字符串拆分與合併 89
4.5.1 拆分字符串為列表 89
4.5.2 合併列表為字符串 90
4.5.3 字符串拆分與合併應用案例:匯總多表中的不規範數據 91

第5章
Python有序對象――列表處理技術 93
5.1 列表的創建與刪除 94
5.2 列表切片 94
5.2.1 單元素切片 94
5.2.2 多元素切片 95
5.2.3 列表切片應用案例:按行對數據求平均值 96
5.3 列表元素的增加、刪除和修改 97
5.3.1 列表元素的修改 97
5.3.2 列表元素的增加 98
5.3.3 列表元素的刪除 99
5.3.4 列表綜合應用案例:按行對分數求和 100
5.4 列表操作符 102
5.4.1 列表操作符基礎 102
5.4.2 列表操作符應用案例:按條件統計多工作表數據 103
5.5 列表推導式 104
5.5.1 標準列表推導式 104
5.5.2 列表推導式變異 105
5.5.3 嵌套列表推導式 106
5.5.4 條件列表推導式 107
5.5.5 列表推導式應用案例1:自動匯總多工作表數據 107
5.5.6 列表推導式應用案例2:匯總多工作簿數據 109
5.6 列表轉換操作 110
5.6.1 類對象轉換list 111
5.6.2 反轉列表reverse 112
5.6.3 列表複製copy 112
5.6.4 列表組合zip 114
5.6.5 列表轉換應用案例:給名單中的姓名添加序號 115
5.7 列表常用統計方式 117
5.7.1 常用統計函數1 117
5.7.2 列表統計應用案例1:統計每個人全年工資信息 118
5.7.3 常用統計函數2 120
5.7.4 列表統計應用案例2:按等級做計數統計 120

第6章
Python有序對象――元組處理技術 123
6.1 元組的創建與刪除 124
6.2 元組的基本操作 124
6.2.1 元組的合併 124
6.2.2 元組的複制 125
6.2.3 元組的循環 127
6.2.4 類對象轉換 128
6.2.5 元組應用案例:將單列數據轉換為多行多列數據 128
6.3 元組常用統計函數 131

第7章
Python無序對象――字典處理技術 132
7.1 字典的基礎操作 133
7.1.1 字典的創建與刪除 134
7.1.2 字典中鍵值的獲取 134
7.2 字典鍵值的修改、增加和刪除 135
7.2.1 字典鍵值的增加 135
7.2.2 字典鍵值的刪除 136
7.2.3 字典鍵值的修改 136
7.2.4 字典鍵值應用案例1:提取各班最後一條記錄 137
7.2.5 字典鍵值應用案例2:按姓名求總分與平均分 138
7.3 字典的轉換操作 140
7.3.1 類對象轉換dict 140
7.3.2 dict. fromkeys轉換法 141
7.3.3 字典轉換應用案例:多列求唯一值 142
7.4 字典綜合應用案例 143
7.4.1 字典綜合應用案例1:獲取未完成名單 144
7.4.2 字典綜合應用案例2:多工作簿數據合併 145
7.4.3 字典綜合應用案例3:數據統計並分發至不同工作簿 147

第8章
Python無序對象――集合處理技術 151
8.1 集合的創建與刪除 152
8.2 集合元素的添加與刪除 152
8.2.1 集合元素的添加 152
8.2.2 集合元素的刪除 153
8.2.3 集合元素的添加應用案例:多列求唯一值 154
8.3 集合之間的大小比較 155
8.3.1 集合的比較運算 155
8.3.2 集合比較運算應用案例:判斷指定的多個等級是否存在 156
8.4 集合的轉換操作 157
8.4.1 類對象轉換set 157
8.4.2 集合轉換應用案例:獲取每個工作表中不重複的名單 158
8.5 集合的運算 160
8.5.1 並集運算 160
8.5.2 交集運算 161
8.5.3 差集運算 163
8.5.4 對稱差集運算 164
8.5.5 集合運算小結 166
8.6 集合運算應用案例 166
8.6.1 集合的並集應用案例:多表多列求唯一值 166
8.6.2 集合的交集應用案例:多列求相同值 168
8.6.3 集合的差集應用案例:根據達標月份獲取不達標月份 170

第9章
優化代碼利器――Python自定義函數 173
9.1 自定義函數編寫規範 174
9.1.1 函數的定義 174
9.1.2 自定義函數的創建與調用 174
9.1.3 自定義函數應用案例:平均函數的定義及應用 176
9.2 必選參數的寫法及應用 177
9.2.1 必選參數(位置參數) 177
9.2.2 自定義函數之必選參數應用案例:給號碼分段 178
9.3 可選參數的寫法及應用 179
9.3.1 可選參數(默認參數) 180
9.3.2 自定義函數之可選參數應用案例:模擬vlookup函數的應用 180
9.4 關鍵字參數的寫法及應用 182
9.4.1 關鍵字參數 182
9.4.2 自定義函數之關鍵字參數應用案例:分類合併字符串 184
9.5 不定長參數的寫法及應用 186
9.5.1 不定長參數1 186
9.5.2 不定長參數2 187
9.5.3 自定義函數之不定長參數應用案例:替換函數增強版 187
9.6 匿名函數的寫法及應用 189
9.6.1 匿名函數的語法結構 189
9.6.2 匿名函數的常見書寫方式 190
9.6.3 自定義函數之匿名函數應用案例:根據身份證號判斷性別 191
9.7 自定義函數存放在. py文件中 192
9.7.1 函數定義在單獨. py文件中 193
9.7.2 函數定義在文件夾中 194

第10章
Python高級函數――常用高階函數應用 196
10.1 map轉換函數 197
10.1.1 map函數的第1個參數為內置函數 197
10.1.2 map函數的第1個參數為自定義函數 198
10.1.3 map函數的第1個參數為匿名函數 198
10.1.4 map函數的第1個參數是多參數 199
10.1.5 高階函數map應用案例:轉換二維表為一維表 199
10.2 filter篩選函數 201
10.2.1 使用filter篩選函數篩選列表 202
10.2.2 高階函數filter應用案例:計算美式排名、中式排名 202
10.3 排序函數sort與sorted 204
10.3.1 排序函數sort 204
10.3.2 排序函數sorted 206
10.3.3 高階函數sort應用案例:對字符串中的數據排序 207
10.3.4 高階函數sorted應用案例:改進美式排名和中式排名的算法 208

第11章
優秀的Python第三方庫――openpyxl庫 211
11.1 安裝openpyxl庫 212
11.2 工作簿的基本操作 212
11.2.1 工作簿的新建 212
11.2.2 工作簿的讀取 213
11.2.3 工作簿應用案例:批量新建工作簿 214
11.3 工作表的基本操作 215
11.3.1 工作表的新建 215
11.3.2 工作表的讀取 217
11.3.3 工作表的複制 218
11.3.4 工作表的移動 219
11.3.5 工作表的刪除 220
11.3.6 工作表應用案例1:批量新建工作表 221
11.3.7 工作表應用案例2:批量複製工作表並修改工作表名稱 222
11.3.8 工作表應用案例3:拆分多個工作表到多個工作簿 223
11.4 單元格的基本操作 224
11.4.1 單元格的讀取 224
11.4.2 單元格區域的讀取 225
11.4.3 行信息的獲取 227
11.4.4 列信息的獲取 229
11.4.5 單元格的寫入 231
11.4.6 單元格應用案例1:製作九九乘法表 233
11.4.7 單元格應用案例2:求每個人各科分數之和 234
11.4.8 單元格應用案例3:多工作表數據合併 236
11.4.9 單元格應用案例4:多工作簿數據合併 237
11.5 工作表的其他操作 239
11.5.1 插入與刪除行和列 239
11.5.2 移動單元格 240
11.5.3 刪除行和列應用案例:按條件篩選數據 242
11.5.4 插入行和列應用案例:批量製作工資條 244

第12章
Python與Excel結合使用――綜合應用案例 246
12.1 綜合應用案例1:自定義排序 247
12.2 綜合應用案例2:按行各自排序法 248
12.3 綜合應用案例3:整理不規範數據 250
12.4 綜合應用案例4:將一維表轉換為二維表 251
12.5 綜合應用案例5:根據業績計算提成金額 253
12.6 綜合應用案例6:查詢業績表中每個月的最高業績記錄 255
12.7 綜合應用案例7:二維表的多種匯總方式 256
12.8 綜合應用案例8:按多列分組匯總 258
12.9 綜合應用案例9:多工作簿數據匯總 260
12.10 綜合應用案例10:計劃招生與實際招生對比 262