1. 程式人生 > 其它 >python怎麼把打印出來的導成excel檔案_從每日工作8小時到10分鐘,我是如何用Python實現自動化辦公的...

python怎麼把打印出來的導成excel檔案_從每日工作8小時到10分鐘,我是如何用Python實現自動化辦公的...

技術標籤:python怎麼把打印出來的導成excel檔案

誰說學了程式設計就一定要當程式設計師?自我介紹一下,我既不是程式設計師,大學學的也不是IT專業。我的工作內容主要就是製作彙報各種統計報表、資料圖等。我身邊的同事每天至少花3.5~4小時去做Excel,使用資料透檢視、vlookup等各類函式去做出一份內含3000多個數據的日報。umm... 如果領導臨時安排什麼工作的話,那就要加班從浩如煙海的資料裡找領導要的東西了。

首次接到任務的我

我們有一個巨大的,達70多M的Excel檔案,每次公司配發的破電腦開啟就需要小二十分鐘,裡面存著我們近十年的採購的每一車的詳細資訊,重點是裡面的資料格式還都是混亂的。打個比方,比如我們有個供貨商全名叫:ABCD有限責任公司,那麼這個Excel中會存有

AB公司、AB有限公司、CD有限責任公司、CD責任有限公司、ACBD有限公司ABD公司等等類似的名字。當我第一次看到這份表格的時候,我的內心是崩潰的。

c9efc48f3e40be78c7484e5e5bdd9ff1.png

後來交接的同事告訴我,她用的Excel的 vlookup 函式,當匹配不上的時候,就手工搜尋……

然後……我……

ef5879b39d2372fabda6e4f98860cbd9.png

就這樣,經歷了噩夢般的幾個月的我,看到了一個詞“圖靈完備”。一個圖靈完備的語言理論上能解決任何演算法。顯然,Python是一種圖靈完備的語言。

使用Python圖靈完備的語言

我的第一步是從資料清洗開始,先把剛才說的那個70M的Excel導成csv,去掉了其中不必要的格式、樣式、物件等。

然後我想統一一下各個資料的標準名稱,剛才說了,由於經手的人太多,同一個資料,怎麼表述的都有,幾十萬的資料量,人工交叉比對的話顯然是不現實的。(後來才知道了笛卡爾積這個詞)

我第一步先使用了Excel自身的去重功能,將所有的供貨商名稱進行了一個去重,剩下了大概5000個左右的名稱。

然後,作為一個懶人,我肯定不會用人工去比對了。

Python有一個庫,叫做fuzzywuzzy,用它來進行模糊匹配。

from fuzzywuzzy import fuzzprint( fuzz.ratio("內容1