用 Python 自動(dòng)化辦公跌造,我與大神之間的差距一下就拉小了

我想介紹一下我是如何從每天工作8小時(shí),進(jìn)化成每天工作10分鐘的族购,以下不涉及太多的技術(shù)細(xì)節(jié)壳贪。

0.先自我介紹一下:

我不是程序員,大學(xué)學(xué)的也不是IT專業(yè)寝杖。

我在一個(gè)主要業(yè)務(wù)是成品糧交易的企業(yè)工作违施,我的崗位的主要工作就是制作各類數(shù)據(jù)統(tǒng)計(jì)報(bào)表、臺(tái)賬瑟幕、數(shù)據(jù)圖表等等磕蒲,反正就是各類日?qǐng)?bào),每天都要做一遍只盹,此外還有什么周報(bào)月報(bào)什么的……這個(gè)崗位之前的同事辣往,每天至少要花3.5到4個(gè)小時(shí)去折騰Excel,使用數(shù)據(jù)透視圖殖卑、vlookup站削、其他各類函數(shù)去做出一份內(nèi)含3000多個(gè)數(shù)據(jù)的日?qǐng)?bào)。如果領(lǐng)導(dǎo)臨時(shí)安排什么工作的話孵稽,那就要加班從浩如煙海的數(shù)據(jù)里找領(lǐng)導(dǎo)要的東西了钻哩。

1.噩夢(mèng)開始時(shí):

我剛接手工作時(shí)屹堰,我們有一個(gè)巨大的,達(dá)70多M的Excel文件街氢,每次公司配發(fā)的破電腦打開就需要小二十分鐘扯键,里面存著我們近十年的采購(gòu)的每一車的詳細(xì)信息……然后里面的數(shù)據(jù)格式還都是混亂的,

打個(gè)比方珊肃,比如我們有個(gè)供貨商全名叫:ABCD有限責(zé)任公司荣刑,

那么這個(gè)Excel中會(huì)存有

AB公司、

AB有限公司伦乔、

CD有限責(zé)任公司厉亏、

CD責(zé)任有限公司、

ACBD有限公司

ABD公司

等等等等名字

在我第一天看到這個(gè)Excel的時(shí)候

后來交接的同事告訴我烈和,她用的Excel的 vlookup 函數(shù)爱只,當(dāng)匹配不上的時(shí)候,就手工搜索……

然后……我……

就這樣招刹,經(jīng)歷了噩夢(mèng)般的幾個(gè)月……

等到了2017年年初恬试,看到一個(gè)詞:

圖靈完備。

一個(gè)圖靈完備的語言理論上能解決任何算法疯暑。

|

|

V

顯然训柴,Python是一種圖靈完備的語言。

|

|

V

那Python應(yīng)該在理論上能替我處理所有事情(生孩子應(yīng)該不行~~)

|

|

V

我為什么不試著用Python去替我完成工作呢妇拯?

2.走了一些彎路幻馁,但勝過原地踏步

我的第一步是從數(shù)據(jù)清洗開始的。(當(dāng)然那時(shí)并不知道這個(gè)叫數(shù)據(jù)清洗)

先把剛才說的那個(gè)70M的Excel導(dǎo)成csv越锈,去掉了其中不必要的格式仗嗦、樣式、對(duì)象等甘凭。

然后我想統(tǒng)一一下各個(gè)數(shù)據(jù)的標(biāo)準(zhǔn)名稱儒将,剛才說了,由于經(jīng)手的人太多对蒲,同一個(gè)數(shù)據(jù)钩蚊,怎么表述的都有,幾十萬的數(shù)據(jù)量蹈矮,人工交叉比對(duì)的話顯然是不現(xiàn)實(shí)的砰逻。(后來才知道了笛卡爾積這個(gè)詞)

我第一步先使用了Excel自身的去重功能,將所有的供貨商名稱進(jìn)行了一個(gè)去重泛鸟,剩下了大概5000個(gè)左右的名稱蝠咆。

然后,作為一個(gè)懶人,我肯定不會(huì)用人工去比對(duì)了刚操。

Python有一個(gè)庫(kù)闸翅,叫做fuzzywuzzy,用它來進(jìn)行模糊匹配菊霜。

from fuzzywuzzy import fuzz

print( fuzz.ratio("內(nèi)容1", "內(nèi)容2"))

會(huì)輸出一個(gè)0——100的數(shù)字坚冀,數(shù)字越大代表這兩個(gè)內(nèi)容越相似。

所以我就寫了一個(gè)循環(huán)鉴逞,把這5000多個(gè)項(xiàng)目里面记某,匹配度超過70%以上的數(shù)據(jù)組都篩了出來,再去Excel里面手工替換(沒辦法构捡,那時(shí)候還不會(huì)操作Excel)

然后整理了一下各個(gè)行列的位置液南,這樣我就有了一個(gè)相對(duì)準(zhǔn)確的數(shù)據(jù)源。

后來思考了一下勾徽,把數(shù)據(jù)存在Excel里面不是個(gè)長(zhǎng)久之計(jì)啊滑凉,畢竟幾十萬數(shù)據(jù)呢,就想把數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)里喘帚。大學(xué)時(shí)候考過計(jì)算機(jī)二級(jí)的Access(當(dāng)然畅姊,雖然我考過,但是沒考過……)啥辨,就想導(dǎo)入Access,可是那個(gè)Python庫(kù)沒弄明白盯腌,硬是讀不出來溉知,就卡死了。

后來想到腕够,之前自己從網(wǎng)上下載的某某私服的一鍵端里级乍,有個(gè)MySQL數(shù)據(jù)庫(kù)的一鍵啟動(dòng)方式,試了試居然能用帚湘,就把那個(gè)MySQL程序整個(gè)拷出來玫荣、清干凈,作為了我的數(shù)據(jù)庫(kù)大诸。(當(dāng)時(shí)想學(xué)怎么自己配置MySQL來著捅厂,沒研究明白……這個(gè)數(shù)據(jù)庫(kù)也就是我們現(xiàn)在提供的MySQL數(shù)據(jù)庫(kù)的前身,當(dāng)然了资柔,我們現(xiàn)在提供的是重新制作的無毒的船新版本)

然后就是使用Navicat導(dǎo)入Excel焙贷,使用pymysql庫(kù)進(jìn)行讀取,這樣贿堰,咱也是趁數(shù)據(jù)庫(kù)的人了~

接下來辙芍,就是要進(jìn)行數(shù)據(jù)分析了,由于當(dāng)時(shí)沒學(xué)會(huì)pandas,數(shù)據(jù)透視圖的效果死活做不出來故硅,不得已庶灿,只好新建N個(gè)列表,用一堆if...else... 吃衅,把同類數(shù)據(jù)存入同一個(gè)列表中往踢,求和,求平均值之類的(笨辦法也是辦法捐晶,能抓住耗子就是好貓菲语,先把程序跑起來能用就好

分析出了結(jié)果,要寫入excel了惑灵,但是由于沒有研究明白怎么進(jìn)行追加寫入(xlutils庫(kù)各種限定太多了……)山上,只好使用xlwt把數(shù)據(jù)寫到一個(gè)空Excel中,然后手工把一整片復(fù)制粘貼過去……反正也是解決了……能用了……

因?yàn)槊刻斓膫}(cāng)庫(kù)返回的數(shù)據(jù)還要向數(shù)據(jù)庫(kù)里追加英支,就寫了個(gè)錄入程序佩憾,先用xlrd讀取、然后fuzzywuzzy模糊匹配干花、最后pymysql寫入妄帘。

這時(shí)候,我的工作已由每天七八個(gè)小時(shí)池凄,進(jìn)化到了每天4小時(shí)左右抡驼。

(這一部分代碼就不貼了,祖?zhèn)鞔a向來被稱為屎山肿仑,這些代碼也是簡(jiǎn)陋的過分的那種……)

3.走上雜務(wù)工作的快車道

羅伯特·清琦寫的那本《富爸爸窮爸爸》提出過一個(gè)概念致盟,當(dāng)你實(shí)現(xiàn)財(cái)務(wù)自由以后,你的財(cái)富積累就會(huì)走上良性循環(huán)的快車道尤慰,你的就會(huì)越來越容易提高被動(dòng)收入馏锡。

同理,當(dāng)你實(shí)現(xiàn)一部分的工作自動(dòng)化以后伟端,你就會(huì)走上一個(gè)“工作自由”的快車道杯道,因?yàn)槟阌懈嗟臅r(shí)間能用來研究如何去更高效的完成余下的那堆工作,然后责蝠,每天工作的時(shí)間就會(huì)越來越短党巾。

為什么上文中我有那么多括號(hào)寫的各種搞不定?因?yàn)闆]時(shí)間八健昧港!

現(xiàn)在好了,每天的工作時(shí)間已經(jīng)被我砍了一半了支子,那么我就可以思考创肥,如何解決各類的技術(shù)問題。

我學(xué)會(huì)了Excel的各種庫(kù),比如xlrd叹侄、xlwt巩搏、xlsxwriter、openpyxl趾代、xlwings贯底、win32com,能根據(jù)自己的需要選擇需要用的庫(kù)撒强;還學(xué)會(huì)了同屬Office系列的python-docx和python-pptx禽捆,開始嘗試自動(dòng)制作Word和PPT;學(xué)會(huì)了自動(dòng)發(fā)郵件的stmp庫(kù)飘哨、zmail庫(kù)胚想;學(xué)會(huì)了能操作微信發(fā)消息的itchat;學(xué)了爬蟲芽隆、學(xué)了解壓縮浊服、學(xué)了調(diào)整圖片大小、學(xué)了Word轉(zhuǎn)pdf等等等等很多庫(kù)或者功能胚吁。上班時(shí)間已經(jīng)很累了牙躺,但是我還是學(xué)歷很多,其中的艱辛確實(shí)難以外道腕扶。不過有個(gè)可以交流的空間是很不錯(cuò)的孽拷,如果有想跟我交流的,可以加我當(dāng)時(shí)學(xué)習(xí)的QQ群一起學(xué)習(xí)進(jìn)步啊半抱,639+584+010脓恕,可以一起學(xué)習(xí)進(jìn)步啊~

隨著學(xué)習(xí),每天的工作時(shí)間越來越短……

現(xiàn)在代虾,我每天的工作进肯,只需要十分鐘激蹲,最快記錄四分鐘棉磨,就能完成。

每天上班学辱,第一件事乘瓤,優(yōu)雅的運(yùn)行一個(gè)py文件,一堆import后面策泣,只有

這樣就完成了日常工作衙傀,然后就是需要打印,手簽萨咕,送各領(lǐng)導(dǎo)審閱的過程了统抬。

一個(gè)保守的、傳統(tǒng)的、幾十年都不會(huì)起一絲波瀾的國(guó)有企業(yè)聪建,硬生生被我干出來了一個(gè)IT崗钙畔,升職加薪都已達(dá)成。

4金麸、后續(xù)的思考

現(xiàn)在擎析,我能極快的完成每天的工作,而后就是大片的學(xué)習(xí)思考的時(shí)間挥下。

如今揍魂,我已經(jīng),把數(shù)據(jù)庫(kù)移到了一臺(tái)淘汰下來的辦公電腦上棚瘟,又用另外一臺(tái)熱備现斋,作為公共聯(lián)網(wǎng)數(shù)據(jù)庫(kù);

我已經(jīng)解取,用pyqt寫了一個(gè)帶gui的數(shù)據(jù)輸出軟件步责,所有同事都可以自由輸出數(shù)據(jù)進(jìn)行分析了;

我已經(jīng)禀苦,用pandas蔓肯、matplotlib寫了一個(gè)自動(dòng)生成數(shù)據(jù)分析圖片的軟件,再做月報(bào)振乏、周報(bào)什么的匯報(bào)材料蔗包,不用再通過Excel手工作圖了;

我已經(jīng)慧邮,用pandas调限、matplotlib配合pyqt寫了一個(gè)入庫(kù)分析軟件,大家輸入時(shí)間段和限定條件后一鍵進(jìn)行數(shù)據(jù)分析了误澳,不會(huì)有同事老找我要數(shù)據(jù)了耻矮;

我已經(jīng),用xlrd忆谓、python-docx寫了一個(gè)合同生成器裆装,旺季采購(gòu)的同事不用焦頭爛額的改合同了;

我已經(jīng)倡缠,用numpy配合pyqt做了一個(gè)購(gòu)銷存平衡軟件哨免,可以讓領(lǐng)導(dǎo)們?cè)跊Q策時(shí)通過拖動(dòng)滑塊就可以實(shí)時(shí)展現(xiàn)不同購(gòu)、銷情況下庫(kù)存情況了昙沦;

我已經(jīng)琢唾,用爬蟲配合pymysql寫了一個(gè)實(shí)時(shí)糧價(jià)獲取數(shù)據(jù)庫(kù),告別了瀏覽網(wǎng)頁逐行復(fù)制價(jià)格的方式盾饮;

未來采桃,我計(jì)劃做一個(gè)公司內(nèi)部網(wǎng)站懒熙,把之前的所有C/S架構(gòu)的軟件都改成B/S。

未來普办,我計(jì)劃做一個(gè)數(shù)據(jù)駕駛艙煌珊,供領(lǐng)導(dǎo)決策使用。

未來泌豆,我計(jì)劃做一個(gè)訪客人臉識(shí)別定庵,方便在重要客戶進(jìn)大門以后提醒領(lǐng)導(dǎo)到門口迎接。

未來踪危,我計(jì)劃做一個(gè)更智能的爬蟲蔬浙,能在網(wǎng)上自動(dòng)收集市場(chǎng)信息。

未來贞远,我計(jì)劃做一個(gè)更智能的進(jìn)銷存平衡軟件畴博,能使用最優(yōu)化進(jìn)行購(gòu)銷平衡計(jì)算。

未來蓝仲,我計(jì)劃做一套發(fā)票管理系統(tǒng)給財(cái)務(wù)俱病、一套物料管理系統(tǒng)給物資、一套工資系統(tǒng)給HR……

那么袱结,你的未來亮隙,是每天繼續(xù)做著重復(fù)的工作,還是從工作中解放自己垢夹,去擁抱更大的世界呢溢吻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市果元,隨后出現(xiàn)的幾起案子促王,更是在濱河造成了極大的恐慌,老刑警劉巖而晒,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝇狼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡倡怎,警方通過查閱死者的電腦和手機(jī)迅耘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诈胜,“玉大人豹障,你說我怎么就攤上這事冯事〗剐伲” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵昵仅,是天一觀的道長(zhǎng)缓熟。 經(jīng)常有香客問我累魔,道長(zhǎng),這世上最難降的妖魔是什么够滑? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任垦写,我火速辦了婚禮,結(jié)果婚禮上彰触,老公的妹妹穿的比我還像新娘梯投。我一直安慰自己,他們只是感情好况毅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布分蓖。 她就那樣靜靜地躺著,像睡著了一般尔许。 火紅的嫁衣襯著肌膚如雪么鹤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天味廊,我揣著相機(jī)與錄音蒸甜,去河邊找鬼。 笑死余佛,一個(gè)胖子當(dāng)著我的面吹牛柠新,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辉巡,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼登颓,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了红氯?” 一聲冷哼從身側(cè)響起框咙,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痢甘,沒想到半個(gè)月后喇嘱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塞栅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年者铜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片放椰。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡作烟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砾医,到底是詐尸還是另有隱情拿撩,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布如蚜,位于F島的核電站压恒,受9級(jí)特大地震影響影暴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜探赫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一型宙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伦吠,春花似錦妆兑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至潭千,卻和暖如春谱姓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刨晴。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工屉来, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狈癞。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓茄靠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蝶桶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子慨绳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    小邁克閱讀 2,984評(píng)論 1 3
  • 徒手深蹲恢共,永遠(yuǎn)是最棒的自重健身動(dòng)作 一次動(dòng)作能調(diào)動(dòng)到大腿肌群 臀大肌战秋、腰腹核心共同發(fā)力 對(duì)提高力量、耐力 甚至是心...
    石家莊運(yùn)動(dòng)大V閱讀 345評(píng)論 0 0
  • 一提到老師,總能勾起自己學(xué)生時(shí)代的回憶透硝。 上學(xué)時(shí)狰闪,我們有很多很多的老師,有的老師只教過你一節(jié)課濒生,而有的老師可以教你...
    慢慢游電影閱讀 2,035評(píng)論 1 21
  • 健康長(zhǎng)壽是人類共同的夢(mèng)想埋泵,從歷朝無數(shù)帝王起,就開始不斷采集天地精華煉制仙丹甜攀,遺憾的是當(dāng)時(shí)條件落后秋泄,資訊有限,以致都...
    張春華閱讀 251評(píng)論 0 0
  • 1规阀,前晚恒序,云寶尿床,半夜發(fā)現(xiàn)將她抱起來拖褲子谁撼,她喊了聲”媽媽”歧胁,于是我問她,“知不知道你尿床了袄鞯喊巍?”“知道”然后就...
    pan02閱讀 272評(píng)論 0 0