3dwoo大學簡體電腦書店
代替VBA!用Python輕松實現Excel編程
( 簡體 字)
作者:童大謙類別:1. -> 程式設計 -> Python
   2. -> Office -> OFFICE -> EXCEL
出版社:電子工業出版社代替VBA!用Python輕松實現Excel編程 3dWoo書號: 55544
詢問書籍請說出此書號!
缺書
NT售價: 450
出版日:12/1/2021
頁數:432
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121423192 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
語言基礎篇
第1章 Python語言基礎 2
1.1 Python語言及其編程環境 2
1.1.1 Python語言及其特點 2
1.1.2 下載和安裝Python 3
1.1.3 Python語言的編程環境 4
1.2 常量和變量 7
1.2.1 常量 8
1.2.2 變量及其名稱 9
1.2.3 變量的聲明、賦值和刪除 9
1.2.4 深入變量 11
1.2.5 變量的數據類型 12
1.3 數字 12
1.3.1 整型數字 12
1.3.2 浮點型數字 13
1.3.3 復數 13
1.3.4 類型轉換 14
1.3.5 Python的整數緩存機制 15
1.4 字符串 16
1.4.1 創建字符串 16
1.4.2 索引和切片 17
1.4.3 轉義字符 17
1.4.4 字符串的格式化輸出 18
1.4.5 字符串的長度和大小寫 20
1.4.6 字符串的分割、連接和刪除 21
1.4.7 字符串的查找和替換 22
1.4.8 字符串的比較 23
1.4.9 字符串緩存機制 24
1.5 列表 25
1.5.1 創建列表 25
1.5.2 添加列表元素 28
1.5.3 索引和切片 29
1.5.4 刪除列表元素 31
1.5.5 列表的排序 32
1.5.6 操作函數 32
1.5.7 二維列表 33
1.6 元組 34
1.6.1 元組的創建和刪除 34
1.6.2 索引和切片 35
1.6.3 基本運算和操作 36
1.7 字典 37
1.7.1 字典的創建 37
1.7.2 索引 38
1.7.3 字典元素的增刪改 39
1.7.4 字典數據的格式化輸出 40
1.8 集合 41
1.8.1 集合的創建 41
1.8.2 集合元素的添加和刪除 42
1.8.3 集合的運算 42

1.9 處理日期和時間 45
1.9.1 獲取日期和時間 45
1.9.2 格式化日期和時間 46
1.10 表達式 47
1.10.1 算術運算符 47
1.10.2 關系運算符 48
1.10.3 邏輯運算符 49
1.10.4 賦值/成員/身份運算符 50
1.10.5 運算符的優先級 50
1.11 流程控制 52
1.11.1 判斷結構 52
1.11.2 循環結構——for循環 57
1.11.3 循環結構——while循環 61
1.11.4 其他結構 63
1.12 函數 65
1.12.1 內部函數 65
1.12.2 標準模塊函數 67
1.12.3 自定義函數 69
1.12.4 變量的作用范圍 75
1.12.5 匿名函數 77
1.13 模塊 77
1.13.1 內置模塊和第三方模塊 77
1.13.2 自定義模塊 78
1.14 工程 79
1.14.1 導入內置模塊和第三方模塊 79
1.14.2 導入自定義模塊 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函數操作文件 86
2.1.1 open函數 86
2.1.2 創建文本文件并寫入數據 87
2.1.3 讀取文本文件數據 89
2.1.4 向文本文件中追加數據 90
2.1.5 讀/寫二進制文件數據 91
2.1.6 使用struct模塊讀取二進制文件 92
2.2 使用OS模塊操作文件 93
2.2.1 文件操作 93
2.2.2 目錄操作 95
2.2.3 路徑操作 96
2.2.4 系統操作 97
對象模型篇
第3章 Excel對象模型:
OpenPyXl包 100
3.1 OpenPyXl包概述 100
3.1.1 Excel相關Python包的比較 100
3.1.2 OpenPyXI包及其安裝 101
3.1.3 Excel對象模型 101
3.1.4 使用OpenPyXI包的一般過程 102
3.2 工作簿對象 102
3.2.1 創建、保存和關閉工作簿 102
3.2.2 打開已有的工作簿文件 103
3.3 工作表對象 104
3.3.1 創建和刪除工作表 104
3.3.2 管理工作表 105
3.3.3 引用工作表 106
3.3.4 復制、移動工作表 106
3.3.5 行/列操作 107
3.3.6 工作表對象的其他屬性和方法 113
3.4 單元格對象 114
3.4.1 單元格的引用和賦值 114
3.4.2 引用單元格區域 115
3.4.3 操作單元格區域 116
3.4.4 設置單元格樣式 117
3.4.5 插入圖片 128
3.4.6 插入公式 129
3.5 綜合應用 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對象及其層次結構 139
4.2.2 使用win32com創建Excel對象 140
4.2.3 使用xlwings創建Excel對象 140
4.2.4 xlwings的兩種編程方式 141
4.3 單元格對象 141
4.3.1 引用單元格 142
4.3.2 引用整行和整列 145
4.3.3 引用區域 147
4.3.4 引用所有單元格/特殊區域/區域的
集合 151
4.3.5 擴展引用當前工作表中的單元格
區域 154
4.3.6 引用末行或末列 156
4.3.7 引用特殊的單元格 158
4.3.8 獲取區域的行數、列數、左上角
和右下角單元格的坐標、形狀、
大小 159
4.3.9 插入單元格或區域 161
4.3.10 選擇和清除單元格 162
4.3.11 復制、粘貼、剪切和刪除單
元格 164
4.3.12 設置單元格的名稱、批注和
字體 168
4.3.13 設置單元格的對齊方式、背景色
和邊框 172
4.4 工作表對象 175
4.4.1 相關對象介紹 175
4.4.2 創建和引用工作表 175
4.4.3 激活、復制、移動和刪除工作表 179
4.4.4 隱藏和顯示工作表 182
4.4.5 選擇行和列 183
4.4.6 復制、剪切行和列 185
4.4.7 插入行和列 187
4.4.8 刪除行和列 189
4.4.9 設置行高和列寬 191
4.5 工作簿對象 193
4.5.1 創建和打開工作簿 193
4.5.2 引用、激活、保存和關閉工作簿 195
4.6 Excel應用對象 197
4.6.1 Application(App)對象和Apps
對象 197
4.6.2 定義位置、大小、標題、可見性
和狀態屬性 199
4.6.3 定義其他常用屬性 201
4.7 數據讀/寫 202
4.7.1 Excel工作表與Python列表之間
的數據讀/寫 203


4.7.2 Excel工作表與Python字典之間
的數據讀/寫 207
4.7.3 Excel工作表與Python DataFrame
之間的數據讀/寫 208
4.8 綜合應用 208
4.8.1 批量新建和刪除工作表 208
4.8.2 按列拆分工作表 211
4.8.3 將多個工作表分別保存為工作簿 215
4.8.4 將多個工作表合并為一個工作表 217
圖形圖表篇
第5章 使用Python繪制Excel圖形 224
5.1 創建圖形 224
5.1.1 點 224
5.1.2 直線段 226
5.1.3 矩形、圓角矩形、橢圓形和圓形 226
5.1.4 多義線和多邊形 228
5.1.5 曲線 229
5.1.6 標簽 230
5.1.7 文本框 231
5.1.8 標注 231
5.1.9 自選圖形 233
5.1.10 圖表 234
5.1.11 藝術字 235
5.2 圖形屬性設置 237
5.2.1 顏色設置 237
5.2.2 線條屬性:LineFormat對象 239
5.2.3 線條屬性:顏色、線型和線寬 240
5.2.4 線條屬性:箭頭、透明度和圖案
填充 241
5.2.5 線條屬性:多義線、曲線和多邊
形的頂點 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 圖形旋轉 255
5.3.3 圖形縮放 255
5.3.4 圖形翻轉 256
5.4 其他圖形操作 257
5.4.1 遍歷工作表中的圖形 257
5.4.2 固定圖形在工作表中的位置 260
5.4.3 動畫 260
5.5 圖片操作 261
5.5.1 創建圖片 261
5.5.2 圖片的幾何變換 262
第6章 使用Python繪制Excel圖表 263
6.1 創建圖表 263
6.1.1 使用xlwings包創建圖表 263
6.1.2 使用API方式創建圖表 265
6.1.3 使用Shapes對象創建圖表 266
6.1.4 綁定數據 269
6.2 圖表及其序列設置 270
6.2.1 設置圖表類型 270
6.2.2 Chart對象的常用屬性和方法 271
6.2.3 設置序列 272
6.2.4 設置序列中單個點的屬性 274
6.3 基本圖形元素的屬性設置 276
6.3.1 設置顏色 276
6.3.2 設置線形圖形元素的屬性 277
6.3.3 設置區域的透明度和顏色填充 277
6.3.4 設置區域的圖案/圖片/紋理填充 279
6.4 坐標系設置 280
6.4.1 設置Axes對象和Axis對象 280
6.4.2 設置坐標軸標題 281
6.4.3 設置數值軸取值范圍 282
6.4.4 設置刻度線 283
6.4.5 設置刻度標簽 283
6.4.6 設置網格線 285
6.4.7 設置多軸圖 286
6.4.8 設置對數坐標圖 287
6.4.9 設置其他屬性 288
6.5 圖表元素設置 290
6.5.1 SetElement方法 290
6.5.2 設置圖表區域/繪圖區 292
6.5.3 設置圖例 293
6.6 輸出圖表 294
6.6.1 將圖表復制到剪貼板 295
6.6.2 將圖表保存為圖片 296
數據處理篇
第7章 使用Python字典處理Excel
數據 298
7.1 數據提取 298
7.1.1 提取首次數據 298
7.1.2 提取末次數據 300
7.2 數據去重 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 數據查詢 312
7.3.1 個案查詢 312
7.3.2 多條件查詢 313
7.4 數據匯總 314
7.4.1 出現次數匯總 315
7.4.2 數據求和匯總 316
7.4.3 多條件匯總 318
7.5 數據排序 319
第8章 使用Python正則表達式處理
Excel數據 322
8.1 正則表達式概述 322
8.1.1 什么是正則表達式 322
8.1.2 正則表達式示例 323
8.2 在Python中使用正則表達式 325
8.2.1 re模塊 325
8.2.2 Match對象 330
8.2.3 Pattern對象 332
8.3 正則表達式的編寫規則 334
8.3.1 元字符 334
8.3.2 重復 338
8.3.3 字符類 343
8.3.4 分支條件 344
8.3.5 捕獲分組和非捕獲分組 345
8.3.6 零寬斷言 349
8.3.7 負向零寬斷言 351
8.3.8 貪婪匹配與懶惰匹配 353
第9章 更快、更簡潔:使用pandas包
處理數據 354
9.1 NumPy和pandas包概述 354
9.1.1 NumPy和pandas包簡介 354
9.1.2 NumPy和pandas包的安裝 355
9.2 NumPy和pandas包提供的數據
類型 355

9.2.1 NumPy數組 355
9.2.2 pandas Series 359
9.2.3 pandas DataFrame 363
9.3 數據輸入和輸出 370
9.3.1 Excel數據的讀/寫 370
9.3.2 CSV數據的讀/寫 373
9.3.3 將DataFrame數據保存到新的
工作表中 374
9.3.4 在同一個工作表中讀/寫多個
DataFrame數據 375
9.4 數據整理 377
9.4.1 添加行或列 377
9.4.2 插入行或列 378
9.4.3 更改數據 380
9.4.4 刪除行或列 381
9.4.5 添加前綴或后綴 382
9.4.6 數據去重 383
9.4.7 數據篩選 383
9.4.8 數據轉置 385
9.4.9 合并數據 385
9.4.10 連接數據 393
9.4.11 拼接數據 395
9.4.12 追加數據 397
第10章 擴展Excel的數據可視化功能:Matplotlib包 398
10.1 Matplotlib包概述 398
10.1.1 Matplotlib包簡介 398
10.1.2 安裝Matplotlib包 399
10.2 使用Matplotlib包繪圖 399
10.2.1 點圖 399




10.2.2 線形圖 401
10.2.3 條形圖 404
10.2.4 面積圖 406
10.2.5 餅圖 407
10.3 導出用Matplotlib包繪制的圖形 408
10.3.1 保存用Matplotlib包繪制的
圖形 408
10.3.2 將用Matplotlib包繪制的圖形
添加到Excel工作表中 409
擴展編程篇
第11章 Python與Excel VBA混合
編程 412
11.1 在Python中調用VBA代碼 412
11.1.1 Excel VBA編程環境 412
11.1.2 編寫Excel VBA程序 414
11.1.3 在Python中調用VBA函數 414
11.2 在 VBA中調用Python代碼 415
11.2.1 xlwings加載項 415
11.2.2 編寫Python文件 417
11.2.3 在VBA中調用Python函數 418
11.2.4 xlwings加載項使用避坑指南 419
11.3 自定義函數(UDF) 420
11.3.1 使用VBA自定義函數 420
11.3.2 在VBA中調用Python自定義
函數的準備工作 421
11.3.3 在VBA中調用Python自定義
函數 421
11.3.4 常見錯誤 422
在數據分析方面,Python實際上已經遠遠超越VBA,因為使用Pyhton提供的數據處理函數和模塊就可以實現很多功能,既快速、可靠又簡便。本書結合OpenPyXl、win32com、xlwings和pandas等Python包全面介紹使用Python實現Excel腳本開發的各種可能性,涉及的內容包括:Python語言基礎、Python文件操作、Excel對象模型、Excel圖形繪制、Excel圖表繪制、字典在Excel中的應用、正則表達式在Excel中的應用、使用Pandas包提高數據處理效率、使用Matplotlib包繪圖、Python與Excel VBA混合編程等。本書適合任何對Excel Python腳本開發感興趣的朋友閱讀,可以是有編程需求的職場辦公人員、數據分析人員、大學生、科研人員和程序員等。
本書的出發點
Python是目前最受歡迎的計算機語言之一,近年來,在TIOBE和IEEE等編程語言排行榜上長期占據前三的位置。在國內,Python也在逐步替代原來的Basic語言,成為小學、中學和大學的學生學習計算機編程入門的首選語言。所以,不難推斷,當前希望首選Python語言進行Excel腳本編程以提高工作效率的朋友已經很多,而且會越來越多,這是我們決定撰寫本書的初衷。
目前微軟公司并沒有推出官方的Python腳本語言,但是市面上與Excel有關的各種第三方Python包層出不窮,包括xlrd、xlwt、OpenPyXl、XlsxWriter、win32com、comtypes、xlwings和pandas等。使用這些Python包,特別是最后4個,可以說VBA能做的事情,使用Python基本上也能做。在數據分析方面,Python實際上已經遠遠超越VBA,因為很多功能不需要自己編程了,有大量現成的數據處理函數和模塊可以使用,既快速、可靠,又簡便。
本書內容
本書以xlwings包為主線,介紹使用Python實現Excel腳本開發的各種可能性。本書的內容具有系統性和邏輯性,在講解上遵循從簡單到復雜、循序漸進的原則,并且實例豐富。全書共有11章,涵蓋了Python語言基礎、Excel辦公自動化和數據分析編程的主要內容。
第1章介紹Python語言基礎,從最基本的變量開始講解,接下來是表達式、流程控制、函數、模塊和工程等。
第2章介紹Python文件操作。使用Python的open函數和OS模塊,可以實現文本文件和二進制文件的打開、追加和保存等操作,也可以操作目錄、路徑等。對Excel文件的操作,可以通過書中介紹的與Excel有關的Python包來實現。
第3章和第4章介紹與Excel對象模型有關的幾個Python包,包括OpenPyXl、win32com和xlwings等。這幾個包提供了與工作簿、工作表、單元格和圖表等相關的對象。
第5章介紹如何使用Python繪制Excel圖形,包括各種圖形元素的繪制和編輯、幾何變換、遍歷圖形和創建動畫等操作。
第6章介紹如何使用Python繪制Excel圖表。學習完本章后,不僅能設置圖表的類型,還能對復合圖表中的序列、序列中的數據點、組成圖表的線形圖形元素和區域圖形元素等進行屬性設置。
第7章介紹Python字典在Excel中的應用。利用字典的特點,可以對Excel數據進行數據提取、去重、查詢、匯總和排序等操作。
第8章介紹正則表達式的編寫規則,以及如何在Python中使用正則表達式進行文本查找和替換等。
第9章介紹如何使用pandas包處理數據。在VBA中,對數據進行處理大多需要自己編寫程序來實現,而使用pandas包可以直接調用這些函數。所以,使用pandas處理數據比用VBA處理要快,而且代碼更簡潔。
第10章簡單介紹Matplotlib包提供的數據可視化功能。使用xlwings包,可以很方便地把用Matplotlib包繪制的圖形嵌入Excel工作表中。
第11章介紹Python與Excel VBA的混合編程。使用xlwings包,可以在Python中調用VBA函數,或者在VBA編程環境中調用Python代碼和使用Python自定義函數。
本書為誰而寫
首先,本書是為不懂VBA但有Excel腳本編程需求的朋友編寫的;其次,本書也適合任何對Excel Python腳本開發感興趣的朋友閱讀,可以是有編程需求的職場辦公人員、數據分析人員、大學生、科研人員和程序員等。
為方便讀者學習,本書大部分案例的數據和代碼均可下載,下載方式請見本書封底。
聯系作者
本書寫作近一年,書稿經過反復修改,但盡管如此,因筆者水平有限,書中錯誤和不足之處仍在所難免,懇請讀者朋友批評與指正(聯系方式:電子郵箱 ,微信公眾號 Excel Coder)。

作 者
pagetop