基于Python的Excel處理工具

1 項目描述##

為了減輕妹子工作中處理Excel的辛苦,用python寫了幾個處理xlsx的代碼,分別完成一些獨立的任務(wù),如根據(jù)考勤記錄判斷每天未來、遲到、早退的名單,實現(xiàn)兩個復(fù)雜xlsx文件的單元格對比,等等。但妹子畢竟是文科生,直接提供py代碼并且要求在命令行中調(diào)用,還是極度的不友好。所以這次希望能夠完善一下,主要實現(xiàn)三個目標:功能整合、提供GUI、打包成exe。

仍舊使用python,經(jīng)過一番調(diào)研決定使用pyqt開發(fā)GUI。

2 安裝##

我的本本是mac,一直以來也覺得mac(或者linux)比windows更適合于開發(fā),所以這次的代碼工作依舊在mac os上進行。

為了使用pyqt,需要在mac上具備這些條件:

  • Xcode:如果系統(tǒng)沒有自帶,那就裝一個吧,mac os專屬的IDLE;
  • Qt:UI開發(fā)工具;
  • SIP:將C++和python連接;
  • PyQt:將python和qt連接。

2.1 Xcode###

這個不用多說了,用過Xcode開發(fā)過的人都應(yīng)該聽說過,沒有的話裝一個即可。

2.2 Qt###

Qt官網(wǎng)上下載安裝即可,如果不清楚使用哪一個,可以考慮我的選擇

2.3 SIP###

下載SIP,這是我的選擇

下載完畢后解壓并在命令行中進入該目錄,執(zhí)行以下代碼。

cd sip-4.16.8/
python configure.py
make 
sudo make install

2.4 PyQt4###

當(dāng)然現(xiàn)在pyqt最新的版本應(yīng)該是5點幾了,不過我的需求應(yīng)該pyqt4就可以滿足。

下載pyqt4,這是我的選擇

下載完畢后解壓并在命令行中進入該目錄,執(zhí)行一下代碼。

cd PyQt-mac-gpl-4.11.4/
python configure.py
make
sudo make install

2.5 參考###

完成以上四個步驟,便可以在mac os中使用pyqt4了(當(dāng)然,你還得裝了python),進入python然后試試import PyQt4吧,如果能成功導(dǎo)入說明一切順利。

其他在mac os上安裝pyqt4的參考資料:

http://blog.csdn.net/watsy/article/details/8857252

http://www.noktec.be/python/how-to-install-pyqt4-on-osx

3 開發(fā)##

我的項目托管于Github,example文件夾里面包含了一些pyqt4的教程例子,My_dear.py是最終的程序代碼,整合了考勤文件處理和Excel表格對比兩個功能。界面看起來大概是這樣(界面求不吐槽,畢竟不是產(chǎn)品,不用在乎設(shè)計,功能實現(xiàn)就可以啦!),左邊的列表里的兩項即對應(yīng)不同的標簽頁。

Excel處理工具界面.png

pyqt4的教程例子主要來源于這里

4 打包##

如果只是python代碼的話,別人的電腦上如果想運行就需要配置同樣的環(huán)境,所以最好打包成產(chǎn)品,別人運行起來只需要一個文件即可。

我使用PyInstaller進行項目打包,在mac os上使用pip即可安裝PyInstaller。

sudo pip install pyinstaller

接下來打包成在mac os上可以直接運行的app格式,第一行命令生成打包中間文件My_dear.spec,第二行代碼處理該文件并完成打包。

pyinstaller --windowed --onefile --clean --noconfirm My_dear.py
pyinstaller --clean --noconfirm --windowed --onefile My_dear.spec

當(dāng)然也可以打包成pkg或dmg等格式,參考這里

可這不是我要的效果,因為這個最終是要給妹子用的,妹子單位上班的地方用的臺式機裝的卻是windows,所以平臺差異的問題這時候浮現(xiàn)了出來,一開始就弄錯了開發(fā)平臺,因為mac os上開發(fā)的程序是不可能打包成exe的= =。

5 出奇簡單的Windows##

所以轉(zhuǎn)戰(zhàn)到實驗室的windows臺式機上再次開發(fā),卻發(fā)現(xiàn)這次windows的開發(fā)流程比mac os簡單多了。在windows上,有了python,如果想使用pyqt4,安裝一個軟件就夠了,里面包含了你需要的一切!

下載地址在這里,直接根據(jù)你的python版本和位數(shù)選擇exe即可。

安裝過程中會默認選擇系統(tǒng)python安裝路徑,安裝完畢之后就可以運行My_dear.py文件了。

至于windows下的打包,同樣可以使用PyInstaller。和mac os不同的是,mac os中PyInstaller是python的一個包且可通過pip下載,而在windows中則需要人工下載源碼。

下載鏈接在這里,下載完畢后解壓即可。在cmd中進入該目錄,使用以下命令即可完成打包(為了方便可以把My_dear.py也拷貝至該目錄下)。

python pyinstaller.py [opts] My_dear.py

其中opts為可選參數(shù),主要包括:

  • -F,-onefile:打包成一個exe文件夾;
  • -D,-onedir:創(chuàng)建一個目錄,包含exe文件夾,但會依賴很多文件(默認);
  • -c,-console,-nowindowed:使用控制臺,無界面(默認);
  • -w,-windowed,-noconsole:使用窗口,無控制臺。

所以對于我的GUI,參數(shù)的選擇是-Fw。

6 總結(jié)##

在本次開發(fā)過程中,出于個人習(xí)慣選擇了mac os作為開發(fā)平臺,后面由于導(dǎo)出exe的需求在windows上再次做了嘗試。總的來說,接觸并初步熟悉了pyqt4在mac os和windows上的部署和開發(fā),以及用PyInstaller打包py程序的方法,還是收獲良多的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容