代替VBA!用Python輕松實(shí)現(xiàn)Excel編程
定 價:89.9 元
- 作者:童大謙
- 出版時間:2021/12/1
- ISBN:9787121423192
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP391.13
- 頁碼:432
- 紙張:
- 版次:01
- 開本:16開
在數(shù)據(jù)分析方面,Python實(shí)際上已經(jīng)遠(yuǎn)遠(yuǎn)超越VBA,因?yàn)槭褂肞yhton提供的數(shù)據(jù)處理函數(shù)和模塊就可以實(shí)現(xiàn)很多功能,既快速、可靠又簡便。本書結(jié)合OpenPyXl、win32com、xlwings和pandas等Python包全面介紹使用Python實(shí)現(xiàn)Excel腳本開發(fā)的各種可能性,涉及的內(nèi)容包括:Python語言基礎(chǔ)、Python文件操作、Excel對象模型、Excel圖形繪制、Excel圖表繪制、字典在Excel中的應(yīng)用、正則表達(dá)式在Excel中的應(yīng)用、使用Pandas包提高數(shù)據(jù)處理效率、使用Matplotlib包繪圖、Python與Excel VBA混合編程等。本書適合任何對Excel Python腳本開發(fā)感興趣的朋友閱讀,可以是有編程需求的職場辦公人員、數(shù)據(jù)分析人員、大學(xué)生、科研人員和程序員等。
童大謙具有15年以上VB、VBA、.NET開發(fā)經(jīng)驗(yàn),開發(fā)了多個數(shù)學(xué)、數(shù)據(jù)分析與可視化方面的軟件,以及與科研院所合作開發(fā)了若干個軟件系統(tǒng)。對Python、MATLAB、SPSS、R等數(shù)據(jù)分析軟件非常熟悉,出版多本相關(guān)圖書。曾在高校執(zhí)教,CSDN高級講師,全網(wǎng)學(xué)員目前近20萬人。
語言基礎(chǔ)篇
第1章 Python語言基礎(chǔ) 2
1.1 Python語言及其編程環(huán)境 2
1.1.1 Python語言及其特點(diǎn) 2
1.1.2 下載和安裝Python 3
1.1.3 Python語言的編程環(huán)境 4
1.2 常量和變量 7
1.2.1 常量 8
1.2.2 變量及其名稱 9
1.2.3 變量的聲明、賦值和刪除 9
1.2.4 深入變量 11
1.2.5 變量的數(shù)據(jù)類型 12
1.3 數(shù)字 12
1.3.1 整型數(shù)字 12
1.3.2 浮點(diǎn)型數(shù)字 13
1.3.3 復(fù)數(shù) 13
1.3.4 類型轉(zhuǎn)換 14
1.3.5 Python的整數(shù)緩存機(jī)制 15
1.4 字符串 16
1.4.1 創(chuàng)建字符串 16
1.4.2 索引和切片 17
1.4.3 轉(zhuǎn)義字符 17
1.4.4 字符串的格式化輸出 18
1.4.5 字符串的長度和大小寫 20
1.4.6 字符串的分割、連接和刪除 21
1.4.7 字符串的查找和替換 22
1.4.8 字符串的比較 23
1.4.9 字符串緩存機(jī)制 24
1.5 列表 25
1.5.1 創(chuàng)建列表 25
1.5.2 添加列表元素 28
1.5.3 索引和切片 29
1.5.4 刪除列表元素 31
1.5.5 列表的排序 32
1.5.6 操作函數(shù) 32
1.5.7 二維列表 33
1.6 元組 34
1.6.1 元組的創(chuàng)建和刪除 34
1.6.2 索引和切片 35
1.6.3 基本運(yùn)算和操作 36
1.7 字典 37
1.7.1 字典的創(chuàng)建 37
1.7.2 索引 38
1.7.3 字典元素的增刪改 39
1.7.4 字典數(shù)據(jù)的格式化輸出 40
1.8 集合 41
1.8.1 集合的創(chuàng)建 41
1.8.2 集合元素的添加和刪除 42
1.8.3 集合的運(yùn)算 42
1.9 處理日期和時間 45
1.9.1 獲取日期和時間 45
1.9.2 格式化日期和時間 46
1.10 表達(dá)式 47
1.10.1 算術(shù)運(yùn)算符 47
1.10.2 關(guān)系運(yùn)算符 48
1.10.3 邏輯運(yùn)算符 49
1.10.4 賦值/成員/身份運(yùn)算符 50
1.10.5 運(yùn)算符的優(yōu)先級 50
1.11 流程控制 52
1.11.1 判斷結(jié)構(gòu) 52
1.11.2 循環(huán)結(jié)構(gòu)——for循環(huán) 57
1.11.3 循環(huán)結(jié)構(gòu)——while循環(huán) 61
1.11.4 其他結(jié)構(gòu) 63
1.12 函數(shù) 65
1.12.1 內(nèi)部函數(shù) 65
1.12.2 標(biāo)準(zhǔn)模塊函數(shù) 67
1.12.3 自定義函數(shù) 69
1.12.4 變量的作用范圍 75
1.12.5 匿名函數(shù) 77
1.13 模塊 77
1.13.1 內(nèi)置模塊和第三方模塊 77
1.13.2 自定義模塊 78
1.14 工程 79
1.14.1 導(dǎo)入內(nèi)置模塊和第三方模塊 79
1.14.2 導(dǎo)入自定義模塊 80
1.15 異常處理 81
1.15.1 常見的異常 81
1.15.2 異常捕獲——單分支的情況 82
1.15.3 異常捕獲——多分支的情況 83
1.15.4 異常捕獲——try…except…else… 84
1.15.5 異常捕獲——try...finally... 84
第2章 Python文件操作 86
2.1 使用Python的open函數(shù)操作文件 86
2.1.1 open函數(shù) 86
2.1.2 創(chuàng)建文本文件并寫入數(shù)據(jù) 87
2.1.3 讀取文本文件數(shù)據(jù) 89
2.1.4 向文本文件中追加數(shù)據(jù) 90
2.1.5 讀/寫二進(jìn)制文件數(shù)據(jù) 91
2.1.6 使用struct模塊讀取二進(jìn)制文件 92
2.2 使用OS模塊操作文件 93
2.2.1 文件操作 93
2.2.2 目錄操作 95
2.2.3 路徑操作 96
2.2.4 系統(tǒng)操作 97
對象模型篇
第3章 Excel對象模型:
OpenPyXl包 100
3.1 OpenPyXl包概述 100
3.1.1 Excel相關(guān)Python包的比較 100
3.1.2 OpenPyXI包及其安裝 101
3.1.3 Excel對象模型 101
3.1.4 使用OpenPyXI包的一般過程 102
3.2 工作簿對象 102
3.2.1 創(chuàng)建、保存和關(guān)閉工作簿 102
3.2.2 打開已有的工作簿文件 103
3.3 工作表對象 104
3.3.1 創(chuàng)建和刪除工作表 104
3.3.2 管理工作表 105
3.3.3 引用工作表 106
3.3.4 復(fù)制、移動工作表 106
3.3.5 行/列操作 107
3.3.6 工作表對象的其他屬性和方法 113
3.4 單元格對象 114
3.4.1 單元格的引用和賦值 114
3.4.2 引用單元格區(qū)域 115
3.4.3 操作單元格區(qū)域 116
3.4.4 設(shè)置單元格樣式 117
3.4.5 插入圖片 128
3.4.6 插入公式 129
3.5 綜合應(yīng)用 129
3.5.1 批量新建和刪除工作表 129
3.5.2 按列拆分工作表 131
3.5.3 將多個工作表分別保存為工作簿 133
3.5.4 將多個工作表合并為一個工作表 134
第4章 Excel對象模型:win32com和xlwings包 137
4.1 win32com和xlwings包概述 137
4.1.1 win32com包及其安裝 137
4.1.2 xlwings包及其安裝 139
4.2 Excel對象 139
4.2.1 Excel對象及其層次結(jié)構(gòu) 139
4.2.2 使用win32com創(chuàng)建Excel對象 140
4.2.3 使用xlwings創(chuàng)建Excel對象 140
4.2.4 xlwings的兩種編程方式 141
4.3 單元格對象 141
4.3.1 引用單元格 142
4.3.2 引用整行和整列 145
4.3.3 引用區(qū)域 147
4.3.4 引用所有單元格/特殊區(qū)域/區(qū)域的
集合 151
4.3.5 擴(kuò)展引用當(dāng)前工作表中的單元格
區(qū)域 154
4.3.6 引用末行或末列 156
4.3.7 引用特殊的單元格 158
4.3.8 獲取區(qū)域的行數(shù)、列數(shù)、左上角
和右下角單元格的坐標(biāo)、形狀、
大小 159
4.3.9 插入單元格或區(qū)域 161
4.3.10 選擇和清除單元格 162
4.3.11 復(fù)制、粘貼、剪切和刪除單
元格 164
4.3.12 設(shè)置單元格的名稱、批注和
字體 168
4.3.13 設(shè)置單元格的對齊方式、背景色
和邊框 172
4.4 工作表對象 175
4.4.1 相關(guān)對象介紹 175
4.4.2 創(chuàng)建和引用工作表 175
4.4.3 激活、復(fù)制、移動和刪除工作表 179
4.4.4 隱藏和顯示工作表 182
4.4.5 選擇行和列 183
4.4.6 復(fù)制、剪切行和列 185
4.4.7 插入行和列 187
4.4.8 刪除行和列 189
4.4.9 設(shè)置行高和列寬 191
4.5 工作簿對象 193
4.5.1 創(chuàng)建和打開工作簿 193
4.5.2 引用、激活、保存和關(guān)閉工作簿 195
4.6 Excel應(yīng)用對象 197
4.6.1 Application(App)對象和Apps
對象 197
4.6.2 定義位置、大小、標(biāo)題、可見性
和狀態(tài)屬性 199
4.6.3 定義其他常用屬性 201
4.7 數(shù)據(jù)讀/寫 202
4.7.1 Excel工作表與Python列表之間
的數(shù)據(jù)讀/寫 203
4.7.2 Excel工作表與Python字典之間
的數(shù)據(jù)讀/寫 207
4.7.3 Excel工作表與Python DataFrame
之間的數(shù)據(jù)讀/寫 208
4.8 綜合應(yīng)用 208
4.8.1 批量新建和刪除工作表 208
4.8.2 按列拆分工作表 211
4.8.3 將多個工作表分別保存為工作簿 215
4.8.4 將多個工作表合并為一個工作表 217
圖形圖表篇
第5章 使用Python繪制Excel圖形 224
5.1 創(chuàng)建圖形 224
5.1.1 點(diǎn) 224
5.1.2 直線段 226
5.1.3 矩形、圓角矩形、橢圓形和圓形 226
5.1.4 多義線和多邊形 228
5.1.5 曲線 229
5.1.6 標(biāo)簽 230
5.1.7 文本框 231
5.1.8 標(biāo)注 231
5.1.9 自選圖形 233
5.1.10 圖表 234
5.1.11 藝術(shù)字 235
5.2 圖形屬性設(shè)置 237
5.2.1 顏色設(shè)置 237
5.2.2 線條屬性:LineFormat對象 239
5.2.3 線條屬性:顏色、線型和線寬 240
5.2.4 線條屬性:箭頭、透明度和圖案
填充 241
5.2.5 線條屬性:多義線、曲線和多邊
形的頂點(diǎn) 243
5.2.6 面的屬性:FillFormat對象、顏色
和透明度 245
5.2.7 面的屬性:單色填充和漸變色
填充 246
5.2.8 面的屬性:圖案填充、圖片填充
和紋理填充 250
5.2.9 文本屬性 253
5.3 圖形變換 254
5.3.1 圖形平移 254
5.3.2 圖形旋轉(zhuǎn) 255
5.3.3 圖形縮放 255
5.3.4 圖形翻轉(zhuǎn) 256
5.4 其他圖形操作 257
5.4.1 遍歷工作表中的圖形 257
5.4.2 固定圖形在工作表中的位置 260
5.4.3 動畫 260
5.5 圖片操作 261
5.5.1 創(chuàng)建圖片 261
5.5.2 圖片的幾何變換 262
第6章 使用Python繪制Excel圖表 263
6.1 創(chuàng)建圖表 263
6.1.1 使用xlwings包創(chuàng)建圖表 263
6.1.2 使用API方式創(chuàng)建圖表 265
6.1.3 使用Shapes對象創(chuàng)建圖表 266
6.1.4 綁定數(shù)據(jù) 269
6.2 圖表及其序列設(shè)置 270
6.2.1 設(shè)置圖表類型 270
6.2.2 Chart對象的常用屬性和方法 271
6.2.3 設(shè)置序列 272
6.2.4 設(shè)置序列中單個點(diǎn)的屬性 274
6.3 基本圖形元素的屬性設(shè)置 276
6.3.1 設(shè)置顏色 276
6.3.2 設(shè)置線形圖形元素的屬性 277
6.3.3 設(shè)置區(qū)域的透明度和顏色填充 277
6.3.4 設(shè)置區(qū)域的圖案/圖片/紋理填充 279
6.4 坐標(biāo)系設(shè)置 280
6.4.1 設(shè)置Axes對象和Axis對象 280
6.4.2 設(shè)置坐標(biāo)軸標(biāo)題 281
6.4.3 設(shè)置數(shù)值軸取值范圍 282
6.4.4 設(shè)置刻度線 283
6.4.5 設(shè)置刻度標(biāo)簽 283
6.4.6 設(shè)置網(wǎng)格線 285
6.4.7 設(shè)置多軸圖 286
6.4.8 設(shè)置對數(shù)坐標(biāo)圖 287
6.4.9 設(shè)置其他屬性 288
6.5 圖表元素設(shè)置 290
6.5.1 SetElement方法 290
6.5.2 設(shè)置圖表區(qū)域/繪圖區(qū) 292
6.5.3 設(shè)置圖例 293
6.6 輸出圖表 294
6.6.1 將圖表復(fù)制到剪貼板 295
6.6.2 將圖表保存為圖片 296
數(shù)據(jù)處理篇
第7章 使用Python字典處理Excel
數(shù)據(jù) 298
7.1 數(shù)據(jù)提取 298
7.1.1 提取首次數(shù)據(jù) 298
7.1.2 提取末次數(shù)據(jù) 300
7.2 數(shù)據(jù)去重 302
7.2.1 使用列表去重 302
7.2.2 使用集合去重 304
7.2.3 使用字典去重 305
7.2.4 使用字典對象的fromkeys方法
去重 306
7.2.5 多表去重 308
7.2.6 跨表去重 309
7.3 數(shù)據(jù)查詢 312
7.3.1 個案查詢 312
7.3.2 多條件查詢 313
7.4 數(shù)據(jù)匯總 314
7.4.1 出現(xiàn)次數(shù)匯總 315
7.4.2 數(shù)據(jù)求和匯總 316
7.4.3 多條件匯總 318
7.5 數(shù)據(jù)排序 319
第8章 使用Python正則表達(dá)式處理
Excel數(shù)據(jù) 322
8.1 正則表達(dá)式概述 322
8.1.1 什么是正則表達(dá)式 322
8.1.2 正則表達(dá)式示例 323
8.2 在Python中使用正則表達(dá)式 325
8.2.1 re模塊 325
8.2.2 Match對象 330
8.2.3 Pattern對象 332
8.3 正則表達(dá)式的編寫規(guī)則 334
8.3.1 元字符 334
8.3.2 重復(fù) 338
8.3.3 字符類 343
8.3.4 分支條件 344
8.3.5 捕獲分組和非捕獲分組 345
8.3.6 零寬斷言 349
8.3.7 負(fù)向零寬斷言 351
8.3.8 貪婪匹配與懶惰匹配 353
第9章 更快、更簡潔:使用pandas包
處理數(shù)據(jù) 354
9.1 NumPy和pandas包概述 354
9.1.1 NumPy和pandas包簡介 354
9.1.2 NumPy和pandas包的安裝 355
9.2 NumPy和pandas包提供的數(shù)據(jù)
類型 355
9.2.1 NumPy數(shù)組 355
9.2.2 pandas Series 359
9.2.3 pandas DataFrame 363
9.3 數(shù)據(jù)輸入和輸出 370
9.3.1 Excel數(shù)據(jù)的讀/寫 370
9.3.2 CSV數(shù)據(jù)的讀/寫 373
9.3.3 將DataFrame數(shù)據(jù)保存到新的
工作表中 374
9.3.4 在同一個工作表中讀/寫多個
DataFrame數(shù)據(jù) 375
9.4 數(shù)據(jù)整理 377
9.4.1 添加行或列 377
9.4.2 插入行或列 378
9.4.3 更改數(shù)據(jù) 380
9.4.4 刪除行或列 381
9.4.5 添加前綴或后綴 382
9.4.6 數(shù)據(jù)去重 383
9.4.7 數(shù)據(jù)篩選 383
9.4.8 數(shù)據(jù)轉(zhuǎn)置 385
9.4.9 合并數(shù)據(jù) 385
9.4.10 連接數(shù)據(jù) 393
9.4.11 拼接數(shù)據(jù) 395
9.4.12 追加數(shù)據(jù) 397
第10章 擴(kuò)展Excel的數(shù)據(jù)可視化功能:Matplotlib包 398
10.1 Matplotlib包概述 398
10.1.1 Matplotlib包簡介 398
10.1.2 安裝Matplotlib包 399
10.2 使用Matplotlib包繪圖 399
10.2.1 點(diǎn)圖 399
10.2.2 線形圖 401
10.2.3 條形圖 404
10.2.4 面積圖 406
10.2.5 餅圖 407
10.3 導(dǎo)出用Matplotlib包繪制的圖形 408
10.3.1 保存用Matplotlib包繪制的
圖形 408
10.3.2 將用Matplotlib包繪制的圖形
添加到Excel工作表中 409
擴(kuò)展編程篇
第11章 Python與Excel VBA混合
編程 412
11.1 在Python中調(diào)用VBA代碼 412
11.1.1 Excel VBA編程環(huán)境 412
11.1.2 編寫Excel VBA程序 414
11.1.3 在Python中調(diào)用VBA函數(shù) 414
11.2 在 VBA中調(diào)用Python代碼 415
11.2.1 xlwings加載項(xiàng) 415
11.2.2 編寫Python文件 417
11.2.3 在VBA中調(diào)用Python函數(shù) 418
11.2.4 xlwings加載項(xiàng)使用避坑指南 419
11.3 自定義函數(shù)(UDF) 420
11.3.1 使用VBA自定義函數(shù) 420
11.3.2 在VBA中調(diào)用Python自定義
函數(shù)的準(zhǔn)備工作 421
11.3.3 在VBA中調(diào)用Python自定義
函數(shù) 421
11.3.4 常見錯誤 422