用python進行辦公自動化都需要學習什么知識
來源:
奇酷教育 發(fā)表于:
用python進行辦公自動化都需要學習什么知識?
用python進行辦公自動化都需要學習什么知識呢?
這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領(lǐng)域越來越受歡迎,批量處理簡直是加班族的福音。
自動化辦公無非是excel、ppt、word、郵件、文件處理、數(shù)據(jù)分析處理、爬蟲這些,這次就來理一理python自動化辦公的那些知識點。
python基礎(chǔ)
excel自動化
ppt自動化
word自動化
郵件處理
文件批量處理
數(shù)據(jù)處理與分析
自動化爬蟲
下面一一詳解。
python基礎(chǔ)
能做這些的前提是會使用Python,最起碼要熟悉基本語法,可以編寫小腳本。
對于python語法的要求,你可以對照python基礎(chǔ)教程的部分查看需要學那些,找個免費視頻教程跟著學,然后多敲代碼練習。如果習慣看書的話,可以買本python入門書備查。
語法 主要內(nèi)容
語法是關(guān)鍵,一定要理解python編程的基本概念,再去學其他的工具庫。
不然會很痛苦的。
excel自動化
office家族其實都可以用VBA解決自動化的問題,但可能很多人不會用。
python針對excel有很多的第三方庫可以用,比如xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils等等。
Python-Excel 模塊哪家強?
這些庫可以很方便地實現(xiàn)對excel文件的增刪改寫、格式修改等,當然并不推薦你全部都去嘗試一下,這樣時間成本太大了。使用xlwings和pandas這兩個就夠了,基本能解決excel自動化的所有問題。
xlwings不光可以讀寫excel,還能進行格式調(diào)整、VBA操作,非常強大且易于使用。官網(wǎng)教程:
pandas是大家都熟悉的數(shù)據(jù)處理利器,它也支持excel的讀寫,接口友好。這個后面會講到。
如果你對python自動化處理excel很有興趣,也可以買一本專門的教材來看。比如:
廣告
對比Excel,輕松學習Python數(shù)據(jù)分析(博文視點出品)
作者:張俊紅
京東
ppt自動化
python當然是支持ppt的自動化處理,主要的庫有pywin32com、pptx,可以創(chuàng)建、修改ppt文件。
推薦使用pptx庫,目前主流的ppt處理庫。
word自動化
python操作Word的庫:
python-docx、import docx:只對windows平臺有效
pypiwin32、import win32com:跨平臺,但無法處理doc格式的word文本,doc格式不是基于xml的
textract、import textract:它同時兼顧“doc”和“docx”,但安裝過程需要一些依賴。你可以批量的用python生成word文件,推薦使用docx,不需要會太多。
學習網(wǎng)站:
https://python-docx.readthedocs.io/en/latest/
郵件處理
python處理郵件也是極其便利的,smtplib、imaplib、email三個庫配合使用,實現(xiàn)郵件編寫、發(fā)送、接收、讀取等一系列自動化操作,省時省力。
簡單三步,用 Python 發(fā)郵件
發(fā)郵件的坑在于郵箱服務器的選擇和設(shè)置,而這個又會隨著郵箱服務商的更新而變動,所以實際使用時還需要多搜索相關(guān)文檔和教程。
文件批量處理
文件處理包括批量修改或創(chuàng)建文件名、批量生成文檔、批量修改路徑等等重復性操作。如果一個個手工操作,那真的心累。
python在處理批量操作有得天獨厚的優(yōu)勢,成千上萬的文件修改可能只需幾秒的時間。
os是python文件操作的庫,可以實現(xiàn)對電腦上文件的增刪改查。
方法 作用
os.chdir(path) 改變當前工作目錄
os.getcwd() 返回當前工作目錄
os.listdir() 返回path指定的文件夾包含的文件或文件夾的名字的列表
os.makedirs(path[, mode]) 創(chuàng)建一個名為path的文件夾
os.remove(path) 刪除路徑為path的文件
... ...
數(shù)據(jù)處理和分析
我就是做數(shù)據(jù)分析工作的,基本也是python作為主要工具,所以這一塊毋庸置疑是python自動化辦公最有價值的部分。
數(shù)據(jù)處理的庫主要有:pandas、numpy、matplotlib、sklearn...
pandas是一款不斷進步的python數(shù)據(jù)科學庫,它的數(shù)據(jù)結(jié)構(gòu)十分適合做數(shù)據(jù)處理,并且pandas納入了大量分析函數(shù)方法,以及常用統(tǒng)計學模型、可視化處理。
如果你使用python做數(shù)據(jù)分析,在數(shù)據(jù)預處理的過程,幾乎九成的工作需要使用pandas完成。
在一些企業(yè)招分析師的筆試題中,pandas已經(jīng)作為必考的工具,所以如果你想要入行數(shù)據(jù)分析師,請努力學習使用pandas。
numpy是python的數(shù)值計算庫,包括pandas之類的很多分析庫都建立在numpy基礎(chǔ)上。
numpy的核心功能包括:
ndarray,一個具有矢量算術(shù)運算和復雜廣播能力的快速且節(jié)省空間的多維數(shù)組
用于對整組數(shù)據(jù)進行快速運算的標準數(shù)學函數(shù)(無需編寫循環(huán))
用于讀寫磁盤數(shù)據(jù)的工具以及用于操作內(nèi)存映射文件的工具
線性代數(shù)、隨機數(shù)生成以及傅里葉變換功能
用于集成由C、C++、Fortran等語言編寫的代碼的A C API
numpy之于數(shù)值計算特別重要是因為它可以高效處理大數(shù)組的數(shù)據(jù)。這是因為:
比起Python的內(nèi)置序列,numpy數(shù)組使用的內(nèi)存更少
numpy可以在整個數(shù)組上執(zhí)行復雜的計算,而不需要Python的for循環(huán)
matplotlib和seaborn是python主要的可視化工具,建議大家都去學學,數(shù)據(jù)的展現(xiàn)和數(shù)據(jù)分析同樣重要。
sklearn和keras,sklearn是python機器學庫,涵蓋了大部分機器學習模型。keras是深度學習庫,它包含高效的數(shù)值庫Theano和TensorFlow。
這些是大家耳熟能詳?shù)纳駧?,非常推薦去學習。
關(guān)于數(shù)據(jù)分析,推薦一本經(jīng)典書籍:
廣告
利用Python進行數(shù)據(jù)分析(原書第2版)
作者:[美]韋斯·麥金尼(Wes,McKinney)
京東
自動化爬蟲
相信爬蟲是大家最感興趣的,python爬蟲有很多的實現(xiàn)庫,比如:urllib、requests、scrapy等,以及xpath、beautifulsoup等解析庫。
爬蟲入門容易,但學精難,所以初學者可以嘗試寫點簡單的爬蟲,比如豆瓣、知乎、微博呀。
這方面我們過去的案例都很多,這里給幾篇工具介紹:
requests庫,讓你的爬蟲開發(fā)效率提升8倍
chrome開發(fā)者工具,掌握它就解決了一半的問題
網(wǎng)頁解析工具 BeautifulSoup4 介紹
推薦大家去學習requests、bs4來入門爬蟲,官方中文學習網(wǎng)站:
https://2.python-requests.org/zh_CN/latest/
https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
其它
其它不常用的自動化辦公庫,像處理pdf、圖片、視音頻等,這里不做過多介紹。
如果有興趣可以在本文末留言:你用過哪些逆天的python庫,解決了哪些問題?