基於Python的Excel處理工具

##1 項目描述##python

爲了減輕妹子工做中處理Excel的辛苦,用python寫了幾個處理xlsx的代碼,分別完成一些獨立的任務,如根據考勤記錄判斷天天將來、遲到、早退的名單,實現兩個複雜xlsx文件的單元格對比,等等。但妹子畢竟是文科生,直接提供py代碼而且要求在命令行中調用,仍是極度的不友好。因此此次但願可以完善一下,主要實現三個目標:功能整合、提供GUI、打包成exe。linux

仍舊使用python,通過一番調研決定使用pyqt開發GUI。git

##2 安裝##github

個人本本是mac,一直以來也以爲mac(或者linux)比windows更適合於開發,因此此次的代碼工做依舊在mac os上進行。windows

爲了使用pyqt,須要在mac上具有這些條件:app

  • Xcode:若是系統沒有自帶,那就裝一個吧,mac os專屬的IDLE;
  • Qt:UI開發工具;
  • SIP:將C++和python鏈接;
  • PyQt:將python和qt鏈接。

###2.1 Xcode###工具

這個不用多說了,用過Xcode開發過的人都應該據說過,沒有的話裝一個便可。post

###2.2 Qt###開發工具

Qt官網上下載安裝便可,若是不清楚使用哪個,能夠考慮個人選擇.net

###2.3 SIP###

下載SIP,這是個人選擇

下載完畢後解壓並在命令行中進入該目錄,執行如下代碼。

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

###2.4 PyQt4###

固然如今pyqt最新的版本應該是5點幾了,不過個人需求應該pyqt4就能夠知足。

下載pyqt4,這是個人選擇

下載完畢後解壓並在命令行中進入該目錄,執行一下代碼。

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

###2.5 參考###

完成以上四個步驟,即可以在mac os中使用pyqt4了(固然,你還得裝了python),進入python而後試試import PyQt4吧,若是能成功導入說明一切順利。

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

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

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

##3 開發## 個人項目託管於Github,example文件夾裏面包含了一些pyqt4的教程例子,My_dear.py是最終的程序代碼,整合了考勤文件處理和Excel表格對比兩個功能。界面看起來大概是這樣(界面求不吐槽,畢竟不是產品,不用在意設計,功能實現就能夠啦!),左邊的列表裏的兩項即對應不一樣的標籤頁。

Excel處理工具界面.png

pyqt4的教程例子主要來源於這裏

##4 打包##

若是隻是python代碼的話,別人的電腦上若是想運行就須要配置一樣的環境,因此最好打包成產品,別人運行起來只須要一個文件便可。

我使用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

固然也能夠打包成pkg或dmg等格式,參考這裏

可這不是我要的效果,由於這個最終是要給妹子用的,妹子單位上班的地方用的臺式機裝的倒是windows,因此平臺差別的問題這時候浮現了出來,一開始就弄錯了開發平臺,由於mac os上開發的程序是不可能打包成exe的= =。

##5 出奇簡單的Windows##

因此轉戰到實驗室的windows臺式機上再次開發,卻發現此次windows的開發流程比mac os簡單多了。在windows上,有了python,若是想使用pyqt4,安裝一個軟件就夠了,裏面包含了你須要的一切!

下載地址在這裏,直接根據你的python版本和位數選擇exe便可。

安裝過程當中會默認選擇系統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爲可選參數,主要包括:

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

因此對於個人GUI,參數的選擇是-Fw。

##6 總結##

在本次開發過程當中,出於我的習慣選擇了mac os做爲開發平臺,後面因爲導出exe的需求在windows上再次作了嘗試。總的來講,接觸並初步熟悉了pyqt4在mac os和windows上的部署和開發,以及用PyInstaller打包py程序的方法,仍是收穫良多的。

相關文章
相關標籤/搜索