前言
辦公自動化是指利用現(xiàn)代化設(shè)備和技術(shù),代替辦公人員的部分手動或重復(fù)性業(yè)務(wù)活動,優(yōu)質(zhì)而高效地處理辦公事務(wù),實(shí)現(xiàn)對信息的高效利用,進(jìn)而提高工作效率,實(shí)現(xiàn)輔助決策的目的。辦公自動化通常包括利用Excel、Word、PowerPoint等工具制作報(bào)表、文稿,以及收發(fā)郵件和處理文件等工作,雖然微軟Office套件提供了編程接口來實(shí)現(xiàn)辦公自動化,但是由于其具有占用資源大等缺點(diǎn),使用場合十分有限。
目前,在辦公自動化的研究熱潮中,如何提高工作效率也成為一個具有挑戰(zhàn)性的任務(wù)。Python在辦公自動化領(lǐng)域的應(yīng)用越來越受歡迎,其可以實(shí)現(xiàn)文件的批量生成和處理。本書基于Python 3.10版本進(jìn)行編寫,系統(tǒng)地介紹基于Python的辦公自動化技術(shù)。
本書將深入地介紹Python在辦公自動化方面的應(yīng)用:包括Python編程基礎(chǔ)篇、Excel數(shù)據(jù)自動化處理篇、Word文本自動化處理篇、幻燈片自動化制作篇、郵件自動化處理篇、文件自動化處理篇。
本書內(nèi)容結(jié)構(gòu)
第1篇:Python編程基礎(chǔ)篇
第1章介紹Python軟件的特點(diǎn)與優(yōu)勢,以及如何快速搭建Python 3.10版本的開發(fā)環(huán)境。
第2章介紹Python編程基礎(chǔ),包括數(shù)據(jù)類型、基礎(chǔ)語法、常用高階函數(shù)和編程技巧。
第3章介紹利用Python進(jìn)行數(shù)據(jù)準(zhǔn)備,包括數(shù)據(jù)的讀取、數(shù)據(jù)的索引、數(shù)據(jù)的切片、數(shù)據(jù)的刪除、數(shù)據(jù)的排序、數(shù)據(jù)的聚合、數(shù)據(jù)的透視、數(shù)據(jù)的合并等。
第2篇:Excel數(shù)據(jù)自動化處理篇
第4章介紹利用Python進(jìn)行數(shù)據(jù)處理,包括重復(fù)值的處理、缺失值的處理、異常值的處理等。
第5章介紹利用Python進(jìn)行數(shù)據(jù)分析,包括描述性分析、相關(guān)分析、線性回歸分析。
第6章介紹利用Python進(jìn)行數(shù)據(jù)可視化,包括對比型、趨勢型、比例型、分布型等基本圖表的繪制方法。
第3篇:Word文本自動化處理篇
第7章介紹文本自動化處理,包括應(yīng)用場景及環(huán)境搭建、Python-docx庫案例演示。
第8章介紹利用Python進(jìn)行文本自動化處理,包括使用Python-docx庫自動化處理對頁眉、樣式、文本等進(jìn)行處理。
第9章介紹利用Python制作企業(yè)運(yùn)營月報(bào)Word版,包括使用Python-docx庫整理及清洗門店銷售數(shù)據(jù)、運(yùn)營數(shù)據(jù)的可視化分析、批量制作企業(yè)運(yùn)營月報(bào)等。
第4篇:幻燈片自動化制作篇
第10章介紹幻燈片自動化制作,包括應(yīng)用場景及環(huán)境搭建、Python-pptx庫案例演示。
第11章介紹利用Python進(jìn)行幻燈片自動化制作,包括自動化制作文本、圖形、表格和形狀等內(nèi)容。
第12章介紹利用Python制作企業(yè)運(yùn)營月報(bào)幻燈片,包括制作商品銷售分析報(bào)告、制作客戶留存分析報(bào)告。
第5篇:郵件自動化處理篇
第13章介紹利用Python批量發(fā)送電子郵件,包括郵件服務(wù)器概述、發(fā)送電子郵件等。
第14章介紹利用Python獲取電子郵件,包括獲取郵件內(nèi)容、解析郵件內(nèi)容等。
第15章介紹利用Python自動發(fā)送電商會員郵件,包括電商會員郵件營銷、提取未付費(fèi)的會員數(shù)據(jù)、發(fā)送定制郵件提醒和發(fā)送定制短信提醒等。
第6篇:文件自動化處理篇
第16章介紹利用Python進(jìn)行文件自動化處理,包括文件和文件夾的基本操作、文件的解壓縮操作、顯示目錄樹下的文件名稱、修改目錄樹下的文件名稱、合并目錄樹下的數(shù)據(jù)文件。
本書特色定位
(1)內(nèi)容新穎,講解詳細(xì)。
本書是一本內(nèi)容新穎的Python技術(shù)書,詳細(xì)介紹了基于Python的辦公自動化技術(shù),對于初學(xué)者幫助較大。書中詳細(xì)介紹了大量辦公自動化案例,便于讀者練習(xí)和實(shí)踐。
(2)由淺入深,循序漸進(jìn)。
本書以案例為主線,既包括軟件應(yīng)用與操作的方法和技巧,又融入了辦公自動化的案例實(shí)戰(zhàn),使讀者通過對本書的學(xué)習(xí),能夠輕松、快速地掌握辦公自動化技術(shù)。
(3)案例豐富,高效學(xué)習(xí)。
本書基于Python 3.10版本進(jìn)行講解,同時(shí)為了使讀者能夠快速提高辦公自動化的綜合能力,本書中的案例都盡可能地貼近實(shí)際工作。
本書讀者對象
本書的內(nèi)容和案例適合互聯(lián)網(wǎng)、銀行、咨詢、能源等行業(yè)的數(shù)據(jù)分析人員閱讀,可以作為高等院校相關(guān)專業(yè)學(xué)生的參考用書,也可以作為職場人員學(xué)習(xí)Python辦公自動化的自學(xué)用書。
由于作者水平所限,書中難免存在一些疏漏和不足,希望同行和讀者給予批評與指正。
作 者
目錄
第1篇 Python編程基礎(chǔ)篇
第1章 初識Python語言及開發(fā)環(huán)境搭建 1
1.1 Python及其優(yōu)勢 2
1.1.1 Python的歷史 2
1.1.2 Python的特點(diǎn) 2
1.1.3 Python的優(yōu)勢 3
1.2 搭建Python開發(fā)環(huán)境 3
1.2.1 安裝Anaconda 3
1.2.2 安裝Jupyter庫 5
1.2.3 庫管理工具pip 7
1.3 上機(jī)實(shí)踐題 8
第2章 Python編程基礎(chǔ) 9
2.1 Python數(shù)據(jù)類型 10
2.1.1 數(shù)值(Number) 10
2.1.2 字符串(String) 11
2.1.3 列表(List) 13
2.1.4 元組(Tuple) 15
2.1.5 集合(Set) 16
2.1.6 字典(Dictionary) 18
2.2 Python基礎(chǔ)語法 20
2.2.1 基礎(chǔ)語法:行與縮進(jìn) 20
2.2.2 條件語句:if及if嵌套 21
2.2.3 循環(huán)語句:while與for 22
2.2.4 格式化:format()函數(shù) 25
2.3 Python常用高階函數(shù) 26
2.3.1 map()函數(shù):數(shù)組迭代 27
2.3.2 reduce()函數(shù):序列累積 28
2.3.3 filter()函數(shù):數(shù)值過濾 28
2.3.4 sorted()函數(shù):列表排序 29
2.4 Python編程技巧 30
2.4.1 Tab鍵自動補(bǔ)全程序 30
2.4.2 多個變量的數(shù)值交換 31
2.4.3 列表解析式篩選元素 32
2.4.4 遍歷函數(shù) 33
2.4.5 split()函數(shù):序列解包 34
2.5 上機(jī)實(shí)踐題 35
第3章 利用Python進(jìn)行數(shù)據(jù)準(zhǔn)備 36
3.1 數(shù)據(jù)的讀取 37
3.1.1 讀取本地離線數(shù)據(jù) 37
3.1.2 讀取Web在線數(shù)據(jù) 39
3.1.3 讀取常用數(shù)據(jù)庫中的數(shù)據(jù) 39
3.2 數(shù)據(jù)的索引 41
3.2.1 set_index()函數(shù):創(chuàng)建索引 41
3.2.2 unstack()函數(shù):重構(gòu)索引 43
3.2.3 swaplevel()函數(shù):調(diào)整索引 44
3.3 數(shù)據(jù)的切片 44
3.3.1 提取一列或多列數(shù)據(jù) 44
3.3.2 提取一行或多行數(shù)據(jù) 46
3.3.3 提取指定區(qū)域的數(shù)據(jù) 46
3.4 數(shù)據(jù)的刪除 47
3.4.1 刪除一行或多行數(shù)據(jù) 47
3.4.2 刪除一列或多列數(shù)據(jù) 48
3.4.3 刪除指定的列表對象 49
3.5 數(shù)據(jù)的排序 50
3.5.1 按行索引對數(shù)據(jù)進(jìn)行排序 50
3.5.2 按列索引對數(shù)據(jù)進(jìn)行排序 51
3.5.3 按一列或多列對數(shù)據(jù)進(jìn)行排序 51
3.5.4 按一行或多行對數(shù)據(jù)進(jìn)行排序 52
3.6 數(shù)據(jù)的聚合 52
3.6.1 level參數(shù):指定列聚合數(shù)據(jù) 52
3.6.2 groupby()函數(shù):分組聚合 53
3.6.3 agg()函數(shù):自定義聚合 54
3.7 數(shù)據(jù)的透視 55
3.7.1 pivot_table()函數(shù):數(shù)據(jù)透視 55
3.7.2 crosstab()函數(shù):數(shù)據(jù)交叉 58
3.8 數(shù)據(jù)的合并 59
3.8.1 merge()函數(shù):橫向合并 59
3.8.2 concat()函數(shù):縱向合并 62
3.9 工作表合并與拆分 63
3.9.1 單個工作簿多個工作表合并 63
3.9.2 多個工作簿單個工作表合并 65
3.9.3 工作表按某一列拆分?jǐn)?shù)據(jù) 66
3.10 上機(jī)實(shí)踐題 67
第2篇 Excel數(shù)據(jù)自動化處理篇
第4章 利用Python進(jìn)行數(shù)據(jù)處理 69
4.1 重復(fù)值的處理 70
4.1.1 Excel重復(fù)值的處理 70
4.1.2 Python重復(fù)值的檢測 70
4.1.3 Python重復(fù)值的處理 71
4.2 缺失值的處理 73
4.2.1 Excel缺失值的處理 73
4.2.2 Python缺失值的檢測 73
4.2.3 Python缺失值的處理 74
4.3 異常值的處理 77
4.3.1 Excel異常值的處理 77
4.3.2 Python異常值的檢測 77
4.3.3 使用replace()函數(shù)處理異常值 78
4.4 Python處理金融數(shù)據(jù)案例實(shí)戰(zhàn) 80
4.4.1 讀取上證指數(shù)股票數(shù)據(jù) 80
4.4.2 提取2020年8月數(shù)據(jù) 81
4.4.3 填充非交易日缺失數(shù)據(jù) 82
4.4.4 使用diff()函數(shù)計(jì)算數(shù)據(jù)偏移 83
4.5 上機(jī)實(shí)踐題 84
第5章 利用Python進(jìn)行數(shù)據(jù)分析 85
5.1 Python描述性分析 86
5.1.1 平均數(shù)及案例 87
5.1.2 中位數(shù)及案例 89
5.1.3 方差及案例 89
5.1.4 標(biāo)準(zhǔn)差及案例 90
5.1.5 百分位數(shù)及案例 91
5.1.6 變異系數(shù)及案例 92
5.1.7 偏度及案例 93
5.1.8 峰度及案例 93
5.2 Python相關(guān)分析 94
5.2.1 皮爾遜相關(guān)系數(shù) 95
5.2.2 斯皮爾曼相關(guān)系數(shù) 96
5.2.3 肯德爾相關(guān)系數(shù) 97
5.3 Python線性回歸分析 99
5.3.1 線性回歸模型簡介 100
5.3.2 線性回歸模型建模 102
5.3.3 線性回歸模型案例 103
5.4 上機(jī)實(shí)踐題 107
第6章 利用Python進(jìn)行數(shù)據(jù)可視化 108
6.1 繪制對比型圖表及案例 109
6.1.1 繪制條形圖 109
6.1.2 繪制氣泡圖 110
6.2 繪制趨勢型圖表及案例 111
6.2.1 繪制折線圖 112
6.2.2 繪制面積圖 113
6.3 繪制比例型圖表及案例 114
6.3.1 繪制餅圖 115
6.3.2 繪制環(huán)形圖 117
6.4 繪制分布型圖表及案例 118
6.4.1 繪制散點(diǎn)圖 119
6.4.2 繪制箱型圖 120
6.5 繪制其他類型圖表及案例 122
6.5.1 繪制樹狀圖 122
6.5.2 繪制K線圖 124
6.6 上機(jī)實(shí)踐題 126
第3篇 Word文本自動化處理篇
第7章 文本自動化處理 129
7.1 應(yīng)用場景及環(huán)境搭建 130
7.1.1 文本自動化應(yīng)用場景 130
7.1.2 文本自動化環(huán)境搭建 130
7.2 Python-docx庫案例演示 131
7.2.1 document()函數(shù):打開文檔 132
7.2.2 add_heading()函數(shù):添加標(biāo)題 133
7.2.3 add_paragraph()函數(shù):添加段落 133
7.2.4 add_picture()函數(shù):添加圖片 134
7.2.5 add_table()函數(shù):添加表格 135
7.2.6 add_paragraph()函數(shù):設(shè)置段落樣式 136
7.2.7 add_run()函數(shù):設(shè)置字符樣式 137
7.2.8 add_page_break()函數(shù):添加分頁符 138
7.3 案例演示完整代碼 138
7.4 上機(jī)實(shí)踐題 140
第8章 利用Python進(jìn)行文本自動化處理 141
8.1 自動化處理頁眉 142
8.1.1 訪問頁眉 142
8.1.2 添加頁眉定義 142
8.1.3 添加簡單頁眉 143
8.1.4 添加分區(qū)頁眉 143
8.1.5 移除頁眉 144
8.2 自動化處理樣式 144
8.2.1 樣式對象簡介 144
8.2.2 訪問樣式 145
8.2.3 應(yīng)用樣式 145
8.2.4 添加或刪除樣式 147
8.2.5 定義字符格式 147
8.2.6 定義段落格式 148
8.2.7 使用段落特定的樣式屬性 148
8.2.8 控制樣式的顯示方式 149
8.2.9 處理潛在樣式 149
8.3 自動化處理文本 150
8.3.1 設(shè)置段落文本對齊 150
8.3.2 設(shè)置段落縮進(jìn) 151
8.3.3 設(shè)置制表位 152
8.3.4 設(shè)置段落間距 152
8.3.5 設(shè)置行間距 153
8.3.6 設(shè)置分頁屬性 153
8.3.7 設(shè)置字體和字號 154
8.3.8 設(shè)置字體顏色 154
8.4 自動化處理節(jié) 155
8.4.1 節(jié)對象簡介 155
8.4.2 訪問節(jié)和添加節(jié) 156
8.4.3 節(jié)的主要屬性 157
8.5 上機(jī)實(shí)踐題 159
第9章 利用Python制作企業(yè)運(yùn)營月報(bào)Word版 160
9.1 整理及清洗門店銷售數(shù)據(jù) 161
9.1.1 合并各門店的銷售數(shù)據(jù) 161
9.1.2 異常數(shù)據(jù)的檢查和處理 161
9.1.3 缺失數(shù)據(jù)的檢測與處理 162
9.2 運(yùn)營數(shù)據(jù)的可視化分析 163
9.2.1 門店運(yùn)營數(shù)據(jù)的可視化分析 163
9.2.2 地區(qū)銷售數(shù)據(jù)的可視化分析 166
9.2.3 客戶購買數(shù)據(jù)的可視化分析 169
9.3 批量制作企業(yè)運(yùn)營月報(bào) 172
9.3.1 制作門店運(yùn)營分析報(bào)告 172
9.3.2 制作地區(qū)銷售分析報(bào)告 173
9.3.3 制作客戶消費(fèi)分析報(bào)告 175
9.4 企業(yè)運(yùn)營月報(bào)Word版案例完整代碼 177
9.5 上機(jī)實(shí)踐題 179
第4篇 幻燈片自動化制作篇
第10章 幻燈片自動化制作 181
10.1 應(yīng)用場景及環(huán)境搭建 182
10.1.1 幻燈片自動化應(yīng)用場景 182
10.1.2 幻燈片自動化環(huán)境搭建 182
10.2 Python-pptx庫案例演示 183
10.2.1 presentation()函數(shù):打開演示文稿 183
10.2.2 add_slide()函數(shù):添加幻燈片 183
10.2.3 title_shape()函數(shù):添加主標(biāo)題和副標(biāo)題 185
10.2.4 add_paragraph()函數(shù):添加段落 185
10.2.5 add_chart()函數(shù):插入圖表 186
10.3 案例演示完整代碼 186
10.4 上機(jī)實(shí)踐題 187
第11章 利用Python進(jìn)行幻燈片自動化制作 188
11.1 自動化制作文本 189
11.1.1 添加普通文本 189
11.1.2 設(shè)置文本加粗 189
11.1.3 設(shè)置文本字號 190
11.1.4 設(shè)置文本傾斜 191
11.1.5 設(shè)置文本下畫線 192
11.1.6 設(shè)置文本顏色 193
11.2 自動化制作圖形 194
11.2.1 添加簡單圖形 194
11.2.2 添加復(fù)雜圖形 195
11.2.3 添加圖表圖例 196
11.2.4 添加數(shù)據(jù)標(biāo)簽 198
11.2.5 自定義數(shù)據(jù)標(biāo)簽 199
11.2.6 添加復(fù)合圖形 201
11.3 自動化制作表格 205
11.3.1 添加自定義表格 205
11.3.2 設(shè)置行高和列寬 205
11.3.3 合并表格首行 206
11.3.4 設(shè)置表格標(biāo)題 208
11.3.5 添加變量數(shù)據(jù) 209
11.3.6 修改表格樣式 211
11.4 自動化制作形狀 213
11.4.1 形狀對象簡介 213
11.4.2 添加單個形狀 214
11.4.3 添加多個相同形狀 215
11.4.4 添加多個不同形狀 216
11.5 上機(jī)實(shí)踐題 217
第12章 利用Python制作企業(yè)運(yùn)營月報(bào)幻燈片 218
12.1 制作商品銷售分析報(bào)告 219
12.1.1 制作銷售額分析 219
12.1.2 制作訂單量分析 220
12.1.3 制作退單量分析 222
12.2 制作客戶留存分析報(bào)告 224
12.2.1 制作新增客戶數(shù)量 224
12.2.2 制作客戶留存率 225
12.2.3 制作客戶流失原因 227
12.3 企業(yè)運(yùn)營月報(bào)幻燈片案例完整代碼 229
12.4 上機(jī)實(shí)踐題 235
第5篇 郵件自動化處理篇
第13章 利用Python批量發(fā)送電子郵件 237
13.1 郵件服務(wù)器概述 238
13.1.1 郵件服務(wù)器原理 238
13.1.2 開啟126郵箱相關(guān)服務(wù) 239
13.1.3 開啟QQ郵箱相關(guān)服務(wù) 240
13.1.4 開啟Sina郵箱相關(guān)服務(wù) 240
13.1.5 開啟Hotmail郵箱相關(guān)服務(wù) 241
13.2 發(fā)送電子郵件 241
13.2.1 SMTP()方法:連接郵件服務(wù)器 241
13.2.2 ehlo()方法:登錄郵件服務(wù)器 242
13.2.3 sendmail()方法:發(fā)送郵件 243
13.3 發(fā)送電子郵件案例 243
13.4 上機(jī)實(shí)踐題 244
第14章 利用Python獲取電子郵件 245
14.1 獲取郵件內(nèi)容 246
14.1.1 通過POP3協(xié)議連接郵件服務(wù)器 246
14.1.2 通過POP3協(xié)議下載郵件 247
14.2 解析郵件內(nèi)容 249
14.2.1 解析郵件正文 249
14.2.2 轉(zhuǎn)換郵件編碼 250
14.3 獲取郵件小結(jié) 250
14.3.1 獲取126郵箱中的郵件 251
14.3.2 獲取QQ郵箱中的郵件 253
14.3.3 獲取Sina郵箱中的郵件 256
14.3.4 獲取Hotmail郵箱中的郵件 259
14.4 上機(jī)實(shí)踐題 262
第15章 利用Python自動發(fā)送電商會員郵件 263
15.1 電商會員郵件營銷 264
15.1.1 會員郵件營銷 264
15.1.2 提高郵件的發(fā)送率 264
15.2 提取未付費(fèi)的會員數(shù)據(jù) 264
15.2.1 整理電商會員數(shù)據(jù) 264
15.2.2 讀取未付費(fèi)會員的信息 265
15.3 發(fā)送定制郵件提醒 266
15.3.1 創(chuàng)建SMTP對象 266
15.3.2 發(fā)送定制郵件信息 266
15.4 發(fā)送定制短信提醒 268
15.4.1 注冊Twilio賬號 268
15.4.2 發(fā)送定制短信 269
15.5 上機(jī)實(shí)踐題 270
第6篇 文件自動化處理篇
第16章 利用Python進(jìn)行文件自動化處理 271
16.1 文件和文件夾的基礎(chǔ)操作 272
16.1.1 復(fù)制文件和文件夾 272
16.1.2 移動文件和文件夾 273
16.1.3 刪除文件和文件夾 274
16.2 文件的解壓縮操作 274
16.2.1 讀取ZIP文件 274
16.2.2 解壓縮ZIP文件 275
16.2.3 創(chuàng)建ZIP文件 276
16.3 顯示目錄樹下的文件名稱 276
16.3.1 顯示指定目錄樹下文件名稱 277
16.3.2 顯示目錄樹下文件及子文件名稱 277
16.4 修改目錄樹下的文件名稱 278
16.4.1 修改所有類型文件名稱 278
16.4.2 修改指定類型文件名稱 279
16.5 合并目錄樹下的數(shù)據(jù)文件 280
16.5.1 合并所有類型文件中的數(shù)據(jù) 280
16.5.2 合并指定類型文件中的數(shù)據(jù) 282
16.6 上機(jī)實(shí)踐題 282
附錄A 安裝Python 3.10版本及第三方庫 283
附錄B Python常用的第三方工具包簡介 286
B.1 數(shù)據(jù)分析類包 286
B.2 數(shù)據(jù)可視化類包 287
B.3 機(jī)器學(xué)習(xí)類包 288