本書詳細(xì)介紹了Python自動(dòng)化辦公、數(shù)據(jù)爬蟲、數(shù)據(jù)庫操作以及界面開發(fā)的具體過程和編程技巧。Python編程基礎(chǔ)篇(第1~2章)詳細(xì)介紹了Python的環(huán)境搭建和基礎(chǔ)知識(shí),包括數(shù)據(jù)類型、變量、運(yùn)算符、條件語句、循環(huán)語句、函數(shù)和模塊等內(nèi)容。讀者將學(xué)習(xí)如何使用Python進(jìn)行基本的編程操作,為后續(xù)的自動(dòng)化辦公和應(yīng)用開發(fā)奠定基礎(chǔ)。辦公自動(dòng)化篇(第3~7章)詳細(xì)介紹了如何使用Python對(duì)文件和目錄進(jìn)行操作,包括文件讀寫、目錄遍歷、文件復(fù)制和刪除等內(nèi)容,以及如何使用Python進(jìn)行自動(dòng)化辦公,包括Excel自動(dòng)化、PDF自動(dòng)化和郵件自動(dòng)化等內(nèi)容。讀者將學(xué)習(xí)如何使用Python對(duì)本地文件和目錄進(jìn)行操作,以及如何對(duì)常用辦公軟件進(jìn)行自動(dòng)化處理,從而提高工作效率。數(shù)據(jù)自動(dòng)化篇(第8~12章)詳細(xì)介紹了如何使用Python對(duì)數(shù)據(jù)庫進(jìn)行操作,包括MySQL、SQLite和MongoDB等,以及進(jìn)行GUI編程,包括GUI庫的使用。讀者將學(xué)習(xí)如何使用Python對(duì)數(shù)據(jù)庫進(jìn)行增、刪、改、查等操作,以及如何開發(fā)桌面應(yīng)用程序,方便進(jìn)行自動(dòng)化辦公和應(yīng)用開發(fā)。
隨書附贈(zèng)案例文件、電子教案,以及可掃碼觀看的教學(xué)視頻。
本書既適合作為職場(chǎng)辦公人士的學(xué)習(xí)參考書,也適合Python自動(dòng)化開發(fā)技術(shù)愛好者閱讀學(xué)習(xí)。
詳解自動(dòng)化辦公、網(wǎng)絡(luò)爬蟲和數(shù)據(jù)庫應(yīng)用
采用簡潔高效的代碼風(fēng)格,開發(fā)實(shí)用性強(qiáng)
模擬多場(chǎng)景下數(shù)據(jù)交互的應(yīng)用與實(shí)戰(zhàn)案例
掃碼觀看36段教學(xué)視頻
贈(zèng)送全書案例源代碼及授課用電子教案
Python是一種強(qiáng)大、高效和易于學(xué)習(xí)的編程語言,已經(jīng)成為人們?cè)跀?shù)據(jù)分析、自動(dòng)化辦公和應(yīng)用開發(fā)等領(lǐng)域的優(yōu)選語言。本書將詳細(xì)介紹如何使用Python進(jìn)行自動(dòng)化辦公和應(yīng)用開發(fā),幫助讀者提高工作效率。
本書背景
我們馬上要踏上Python自動(dòng)化學(xué)習(xí)的征途了!不過在邁出第一步之前,不妨先想一想為什么要學(xué)習(xí)Python自動(dòng)化?Python自動(dòng)化有什么優(yōu)勢(shì)和劣勢(shì)?
編者認(rèn)為,學(xué)習(xí)Python自動(dòng)化有以下好處。
1)提高工作效率,Python自動(dòng)化可以幫助用戶快速完成重復(fù)性的任務(wù),從而將時(shí)間和精力集中在更有價(jià)值的事情上。
2)增強(qiáng)競(jìng)爭力,掌握Python自動(dòng)化技能可以讓用戶在職場(chǎng)上更具有競(jìng)爭力,因?yàn)樽詣?dòng)化已成為各行各業(yè)的常規(guī)技能。
本書內(nèi)容
本書的目標(biāo)讀者是希望通過Python實(shí)現(xiàn)自動(dòng)化辦公和應(yīng)用開發(fā)的人員,編者將從Python基礎(chǔ)知識(shí)開始,逐步介紹如何使用Python進(jìn)行自動(dòng)化辦公和應(yīng)用開發(fā),并提供了大量實(shí)際案例,幫助讀者深入理解。
由于篇幅有限,本書并沒有提供過于詳細(xì)的Python基礎(chǔ)知識(shí)內(nèi)容,所以在閱讀本書之前,編者建議初學(xué)者可以去學(xué)習(xí)一下Python的基礎(chǔ)知識(shí),包括語法、數(shù)據(jù)類型、函數(shù)、模塊和面向?qū)ο缶幊痰,便于更好地理解Python語言,更加深入地掌握基礎(chǔ)知識(shí)。
學(xué)習(xí)Python自動(dòng)化需要不斷地實(shí)踐和練習(xí),讀者可以從一些簡單的實(shí)戰(zhàn)項(xiàng)目開始,比如自動(dòng)化網(wǎng)頁登錄、自動(dòng)化數(shù)據(jù)爬取等。當(dāng)然,編者也會(huì)在在書中提供一些Python編程實(shí)踐的建議和技巧,例如,如何編寫Python代碼、如何進(jìn)行調(diào)試和測(cè)試、如何更加簡潔有效地進(jìn)行編碼等。這些實(shí)踐建議和技巧可以幫助讀者更好地理解和應(yīng)用書中的知識(shí)內(nèi)容。
本書特點(diǎn)
1)在傳統(tǒng)的自動(dòng)化辦公中加入了數(shù)據(jù)采集、數(shù)據(jù)庫操作以及GUI界面開發(fā)等內(nèi)容。
2)可加入本書讀者俱樂部或關(guān)注作者團(tuán)隊(duì)的官方微信公眾號(hào)進(jìn)行拓展學(xué)習(xí)。
3)提供GitHub代碼方便讀者學(xué)習(xí)。
4)部分技巧、方法借鑒了作者團(tuán)隊(duì)微信公眾號(hào)中閱讀量較高的文章,具有較強(qiáng)的應(yīng)用性和普適性。
閱讀提醒
在閱讀本書的時(shí)候,讀者一定要注意學(xué)習(xí)和領(lǐng)悟書中講到的分析方法,而不是照抄代碼。當(dāng)讀者學(xué)習(xí)本書的時(shí)候,書中涉及的部分網(wǎng)站或平臺(tái)也許已經(jīng)有部分更新(或改版),如果根據(jù)書中的代碼無法正常獲取數(shù)據(jù),請(qǐng)不要疑惑,仔細(xì)領(lǐng)悟書中的思路和方法,掌握后就不會(huì)因?yàn)榇a運(yùn)行出現(xiàn)問題而影響學(xué)習(xí)效果,同時(shí)隨書資源中也會(huì)不斷更新相關(guān)的資料,掃描封底二維碼進(jìn)入本書專屬云盤即可免費(fèi)獲取相關(guān)學(xué)習(xí)資源,如案例文件、授課用PPT及可掃碼觀看的教學(xué)視頻等。
感謝
感謝機(jī)械工業(yè)出版社丁倫編輯的幫助,在他的指導(dǎo)下這些自動(dòng)化辦公的實(shí)用技巧和方法才能整理出版。
感謝Python進(jìn)階者全體團(tuán)隊(duì)成員的協(xié)同編寫。
感謝在編者寫作過程中,提出了改進(jìn)意見的相關(guān)專家、老師們。
感謝各位讀者選擇了本書,相信在閱讀過程中一定會(huì)給您帶來幫助。
由于編者水平有限,書中不足之處在所難免,懇請(qǐng)各位讀者朋友批評(píng)指正。
Python進(jìn)階者由吳桐、李康等多位知乎專欄作者、CSDN博客專家組成,主要從事Python自動(dòng)化辦公、數(shù)據(jù)分析、爬蟲和后端開發(fā)等工作。同時(shí),也是微信公眾號(hào)Python爬蟲與數(shù)據(jù)挖掘和Python共享之家的主創(chuàng)團(tuán)隊(duì)。線上累計(jì)粉絲超20萬,Python原創(chuàng)文章超1500篇,單篇閱讀量超35萬次,總閱讀量超600萬次,訪問量超千萬次。團(tuán)隊(duì)多年來養(yǎng)成了以GitHub文檔及平臺(tái)分享等方式進(jìn)行知識(shí)傳播的習(xí)慣,希望將工作中總結(jié)的技巧和方法分享給更多有需求的讀者。
前言
第1篇Python編程基礎(chǔ)篇
第1章環(huán)境搭建
1.1Python環(huán)境安裝
1.1.1Anaconda的安裝和配置
1.1.2pip包管理
1.2運(yùn)行Python程序
1.3開發(fā)工具PyCharm
1.3.1PyCharm簡介
1.3.2PyCharm安裝
1.3.3PyCharm的啟動(dòng)和基本使用
第2章基礎(chǔ)教程
2.1數(shù)據(jù)類型和變量
2.2控制語句
2.2.1條件語句
2.2.2循環(huán)語句
2.3數(shù)據(jù)類型
2.3.1列表
2.3.2字典
2.3.3元組和集合
2.4函數(shù)和類對(duì)象
2.4.1函數(shù)編程
2.4.2類和對(duì)象
2.5多進(jìn)程、多線程
2.5.1多進(jìn)程概述
2.5.2多進(jìn)程和進(jìn)程池
2.5.3多線程概述
2.5.4多線程和進(jìn)程池
2.6捕捉Python異常
2.6.1常見異常概述
2.6.2traceback模塊
第2篇辦公自動(dòng)化篇
第3章文件操作
3.1讀取文件
3.1.1文件的讀取操作
3.1.2多種方式讀取文件
3.1.3【實(shí)例】讀取小說內(nèi)容并統(tǒng)計(jì)相同詞匯
3.2寫入文件
3.2.1文件的寫入操作
3.2.2以追加的模式寫入文件
3.2.3寫入二進(jìn)制文件
3.2.4【實(shí)例】讀取小說內(nèi)容并寫入文件
3.3文件路徑
3.3.1os模塊
3.3.2pathlib模塊
3.4復(fù)制、移動(dòng)和刪除文件
3.5批量重命名文件
3.5.1【實(shí)例】一鍵批量重命名文件夾
3.5.2【實(shí)例】解放雙手:根據(jù)文件擴(kuò)展名進(jìn)行文件自動(dòng)分類
第4章Excel 表格自動(dòng)化
4.1讀取 Excel 表格
4.1.1使用pandas讀取Excel表格數(shù)據(jù)
4.1.2使用pandas讀取CSV表格數(shù)據(jù)
4.1.3使用openpyxl讀取Excel表格數(shù)據(jù)
4.2寫入 Excel 表格
4.2.1使用pandas寫入數(shù)據(jù)到Excel表格
4.2.2使用openpyxl寫入數(shù)據(jù)到Excel表格
4.2.3設(shè)置Excel單元格樣式
4.2.4為Excel設(shè)置公式
4.2.5在Excel中生成圖表
4.2.6【實(shí)例】自動(dòng)生成工作報(bào)告模板
4.3合并和拆分工作表格
4.3.1合并工作表格
4.3.2拆分工作表格
4.4polars處理大規(guī)模數(shù)據(jù)
4.4.1構(gòu)建DataFrame和基本使用
4.4.2讀取表格數(shù)據(jù)
第5章Word 文檔自動(dòng)化
5.1安裝python-docx庫
5.2創(chuàng)建 Word 文檔
5.2.1給Word文檔添加標(biāo)題和段落
5.2.2給Word文檔添加圖片和表格
5.2.3給Word文檔添加樣式
5.2.4【實(shí)例】自動(dòng)編寫離職報(bào)告
5.3讀取 Word 文檔
5.4批量生成和轉(zhuǎn)換Word文檔
5.4.1【實(shí)例】一鍵生成100個(gè)Word文檔
5.4.2Word文檔轉(zhuǎn)換為PDF文件
5.4.3【實(shí)例】自動(dòng)編寫邀請(qǐng)函并轉(zhuǎn)換為PDF文件
5.4.4差異性
第6章PDF 文件自動(dòng)化
6.1安裝PyMuPDF庫
6.2合并和拆分PDF文件
6.2.1將多個(gè)PDF文件合并成單個(gè)PDF文件
6.2.2將PDF文件拆分為多頁P(yáng)DF文件
6.2.3【實(shí)例】將多本電子書合并成一個(gè)PDF文件
6.2.4【實(shí)例】將PDF電子書一分為三
6.3讀取PDF文件內(nèi)容
6.3.1讀取PDF圖像
6.3.2【實(shí)例】將PDF文件轉(zhuǎn)換為Word文檔
6.3.3【實(shí)例】將PDF文件轉(zhuǎn)換為圖像文件
6.4保護(hù)PDF文件
6.4.1【實(shí)例】為PDF文件添加安全密碼
6.4.2【實(shí)例】為PDF文件添加水印
第7章PPT文件自動(dòng)化
7.1安裝pptx庫
7.2寫入PPT文件
7.2.1創(chuàng)建一個(gè)PPT文件
7.2.2為PPT文件添加內(nèi)容
7.2.3【實(shí)例】制作一個(gè)12星座簡介PPT文件
7.2.4【實(shí)例】生成一個(gè)關(guān)于Python發(fā)展史的PPT文檔
7.3提取PPT文稿
7.3.1提取PPT文本內(nèi)容
7.3.2提取PPT媒體文件
7.3.3【實(shí)例】導(dǎo)出PPT文稿為PDF文件
第3篇數(shù)據(jù)自動(dòng)化篇
第8章數(shù)據(jù)采集
8.1爬蟲
8.1.1提取結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)(JSON)
8.1.2安裝requests
8.1.3發(fā)送HTTP請(qǐng)求
8.1.4添加headers
8.1.5抓取二進(jìn)制數(shù)據(jù)
8.1.6使用網(wǎng)絡(luò)代理
8.1.7安裝xpath
8.1.8xpath基本使用
8.1.9【實(shí)例】抓取當(dāng)當(dāng)圖書數(shù)據(jù)
8.2定時(shí)任務(wù)
8.2.1安裝schedule庫
8.2.2常用操作
8.2.3【實(shí)例】定時(shí)推薦狗狗圖片
8.2.4【實(shí)例】定時(shí)推薦書籍
8.3selenium火速上手
8.3.1selenium安裝和初始化
8.3.2selenium模塊的基本使用
8.3.3【實(shí)例】selenium動(dòng)態(tài)抓取電影列表
8.3.4【實(shí)例】selenium爬取薄荷健康網(wǎng)站的搜索數(shù)據(jù)
第9章數(shù)據(jù)庫
9.1MySQL
9.1.1MySQL安裝
9.1.2MySQL快速入門
9.1.3Python操作MySQL
9.2MongoDB
9.2.1安裝MongoDB
9.2.2MongoDB快速入門
9.2.3Python操作MongoDB
9.3典型應(yīng)用
9.3.1【實(shí)例】爬取bilibili電影Top100數(shù)據(jù)并存儲(chǔ)
9.3.2【實(shí)例】爬取bilibili熱門視頻數(shù)據(jù)并存儲(chǔ)
9.3.3【實(shí)例】利用pyMongo 讀取 MongoDB 并寫入表格
第10章自動(dòng)推送通知
10.1郵箱推送
10.1.1獲取郵箱授權(quán)碼
10.1.2發(fā)送文本郵件
10.1.3發(fā)送HTML郵件
10.1.4發(fā)送附件
10.1.5【實(shí)例】發(fā)送每日菜譜到郵箱
10.1.6yagmail
10.2釘釘機(jī)器人推送
10.2.1設(shè)置釘釘機(jī)器人
10.2.2安裝dingtalk-chatbot
10.2.3文本格式推送
10.2.4Link格式推送
10.2.5Markdown格式推送
10.2.6卡片格式推送
10.3微信消息推送
第11章GUI可視化界面
11.1Tkinter快速上手
11.2Tkinter組件
11.3【實(shí)例】基于Tkinter開發(fā)文件閱讀器
11.4【實(shí)例】基于Tkinter MongoDB開發(fā)數(shù)據(jù)查詢器
11.5CustomTkinter
11.6打包GUI應(yīng)用程序
第12章圖像和音視頻處理
12.1圖像處理
12.1.1安裝Pillow庫
12.1.2打開并顯示圖片
12.1.3圖片格式轉(zhuǎn)換
12.1.4圖片尺寸調(diào)整
12.1.5顏色轉(zhuǎn)換
12.1.6圖像壓縮
12.1.7壓縮文件為目標(biāo)大小
12.1.8圖像合并
12.1.9圖形拼接
12.1.10圖像濾波操作
12.1.11圖形裁剪、旋轉(zhuǎn)和縮放
1