本教程旨在幫助零編程基礎,但是又有「批量化處理Excel表」這種需求的大家。
在進入教程時,請確保你具有以下資質:
1、 並非工作壓到頭上了,急需解決一批表所以想過來速成,而是願意耐心花上幾個小時學習來獲得一項長久性的技能。
2、 能熟練使用搜尋引擎,明白絕大部分你產生的問題和出現的錯誤都可以在百度上找得到。
對於「用Python批量化處理Excel表」這件事,你應當具有如下認識:
Excel本身也是可編程的,當你點擊一個單元格,寫下一個函數,定義它是SUM,然後依次點擊幾個單元格,Excel自動給你求和時,你就完成了一次編程。這個過程對於不會使用計算機的人來說可能匪夷所思,但是對於常年和office打交道的我們來說其實很簡單易懂。完成一次這樣的簡單編程,我們並不用去了解Excel到底s是怎麼實現這個函數的,我們只用選擇一個函數,比如SUM,然後選擇幾個我們要計算的單元格即可得到我們想要的結果。Python也是這樣的,它已經有了非常強大和完備的函數庫,我們只需要調用函數,然後修改參數,就可以用Python來處理我們自己的表格,它與Excel的區別無非就是沒有可視化圖形界面而已,你選不中單元格,沒有各種菜單選項給你點,你只能手動敲擊文本,但當你學習明白函數、參數、返回值、變量等概念,你就能像使用excel那樣使用命令行來進行python編程,並驚嘆於其強大。
對於這個教程本身,你當有這樣的覺悟:
教程並非介紹完了預備知識才開始實踐,而是一鼓作氣的實踐到最後,這個過程中,你將會因為欠缺預備知識而感到不適,但也會因此快速的具備對python處理excel這件事的直觀印象和理解,你將在配置好開發環境並且動手實踐過後,再來補充學習自己所需的基礎知識。所以本教程鼓勵你對不了解的名詞和概念都百度一下(比如先了解一下到底什麼是python),但不要受限於此。
而學完本教程將使你做到:
1、 安裝好Python
2、 安裝好Python下用於處理Excel表的相關工具
3、 進行一次「Python批量化處理Excel表」實踐
4、 自行練習和實踐後,擁有「遇到特定問題後百度相關函數即可自行寫出相應程序」的能力
Here we go!
安裝Python
首先百度python,進入官網
在Download下點最新版的python
在下載頁面拉到最後,可以選取下載哪個安裝包。
X86-64是AMD的CPU,x86是inter的CPU,因為AMD是兼容inter的,所以大家下X86-64即可。而executable installer的意思指下載下來的安裝包是個exe文件。
於是就得到了python的安裝包
雙擊打開進行安裝,這裡記得勾選把python添加進環境變量,這是個很重要的選項,如果這裡不勾選,安裝結束後我們還要手段添加環境變量。之後我們Install Now自動安裝即可。
安裝結束,我們搜索python,能看到剛才安裝好的python的idle。
Idle的意思是集成開發環境。也就是說這個東西把編程過程中的編輯、編譯、運行等過程全部集中起來了。我們只要打開這個像是文本編輯器一樣的東西,輸入命令,然後點擊運行,就能完成整個編程過程。
點擊idle打開是這個樣子的。
我們試一試:輸入 print(『HellowWorld』),敲下回車,屏幕上會列印出HelloWorld。
安裝Python下處理Excel表的庫
現在我們擁有了python,相當於擁有了錘子、扳手、斧頭等等所有的基礎生產工具了,理論上我們可以創造萬事萬物了!但是,想用這些東西去修房子也太乏力了,而python的強大之處在於,別人基於這些基礎的生產工具二次開發出來的高級生產工具,我們也可以直接拿來用。意思是,我們可以用python導入別人寫好的庫/包,來進行更為方便的生產開發,這意味著只要你想,你就可以獲得推土機、起重機、腳手架等工具來修房子。
而python下導入庫(別人寫好的工具包),需兩個步驟,一個是安裝,一個是編程時導入。接下來我們就安裝python下一個很好用的excel處理包,叫pandas。現在高版本的Python都自帶了pip(python自動化安裝工具),所以安裝包將會變得非常簡單。
我們需要徽標鍵(就是Ctrl和Alt中間那個)+R,然後輸入cmd,點擊回車,打開命令行程序。
在cmd裡,輸入pip install pandas,意思就是用pip(python自帶的安裝包的工具)來安裝(install)名字叫做pandas的包。敲擊回車後,就可以在命令行界面看到安裝開始了。
當你看到successful,意味著pandas包就已經裝好了。
這個時候我們打開idle試試當我們import(導入)一個未安裝的包時,會報錯,但是當我們import剛才已經安裝好的包時,沒有提示信息,說明導入成功了。
當然,為了使用pandas包,我們還需要pip安裝一些別的包,不過這裡按下不表,在下一節遇到錯誤時,我們再回頭安裝。
動手寫一個處理Excel的python腳本!
至此,開發環境我們就已經配置好了。為了能使python腳本可以不添加路徑就讀取到表格文件,我們配置一個理想的實驗環境,新建一個文件夾,把Excel表和Python腳本放在一起。
創建python文件,可以在idle下Ctrl+N新建一個文件,然後在file菜單下面選擇save as另存為進你想要的文件夾。而對於一個py腳本,雙擊是直接運行,你想要編輯它的話,需要右鍵然後點擊Edit with IDLE。
接著打開表和py腳本。我們通過編輯腳本並運行,來將這個表篩選一下,把居住地不是貴州的人員給刪掉。
這樣寫:
並敲擊F5運行
報錯了,說要裝xlrd,那我們接著用cmd上pip install xlrd
成功後再回來運行腳本
又說要openpyxl包,接著裝唄~
成功後再去運行腳本
沒報錯,說明成功了(這是因為pandas包相當於是基於諸如openpyxl這些包再二次開發出來的工具,所以我們用到相關函數時,需要先裝好這些基礎包。正是因為這些工具包的不斷迭代,python才變得異常強大)。
打開文件夾多出了個新表,打開
的確是我們想要的數據(把居住地不是貴州的人員給刪掉了)。
下面解釋一下代碼
現在,你改改參數。
比如這樣
你會發現文件夾多了我們想要的表
這裡你可以思考一下,你改了什麼參數,達到了什麼目的呢?
接下來我們再試一試批量化操作。
此時的文件夾
改出一個新的腳本:
運行後發現所有表裡的姓名為毛豆的行都被刪掉了。
解釋一下代碼
(你試試修改參數復刻一下這個操作?)
接下來你如何擁有自己解決問題的能力?
如果你沒有編程基礎但還是跟著操作了一遍到這裡,我相信這過程中你肯定會遇到許多未知錯誤和困難,但如果你運用搜尋引擎或者自己相關的儲備知識搞定了,我認為你足以證明自己接下來將會通過短暫又迅速的學習,快速上手一些簡單的批量化表格處理工作。
為此,你需要補充的知識是:
學習python,起碼知道什麼是變量、什麼是參數、什麼是返回值、什麼叫字符串等等基礎知識。這個過程不會花費很多時間,但是足以讓你能夠成功抄到代碼。不然就算你搜到了實現某個功能用什麼函數,你也無法正確的修改參數得以應用。
學習pandas,起碼知道python讀取一個excel表是以怎樣的一個結構存儲和操作的,這將使你能夠擁有組合各項操作命令來實現自己特定目標的能力。
熟練使用搜尋引擎,把自己想要完成的某個任務劃分為更為具體的目標,對於每個目標,都去百度搜如何使用python使用pandas實現,把別人的代碼copy下來,修改參數應用在自己的腳本裡面,依次完成這些小目標,從而攻克自己要完成的大任務。
比如你這樣搜:
就會有大把簡單易行的方案:
練習和實踐,找一個實際問題,自己嘗試去解決它,在這個過程中,把任務分而治之,克服困難,耐心去學習自己欠缺的知識。只要完成兩個簡單的小項目,你的能力就已經迭代起來了,並會從這個過程中感到爽快和滿足,接下來就真正擁有了「遇到特定問題後百度相關函數即可自行寫出相應程序」的能力。