有哪些利用編程方法提高自己工作效率的例子?
比如我是工程師,想靠excel的宏命令自動生成一些需要重複勞動的報告
有一天,一個學管理的妹紙讓我幫她點忙。
她們有一個大作業,是要把幾千家上市公司的財報里的特定數據,整理在一個Excel表格里。而這些財報和數據來源,都是從某網站的網頁上查的。
也就是說,人工流程是這樣的:打開一個網頁-&>找到該網頁特定欄目的數據-&>複製粘貼至Excel的對應位置-&>打開下一個網頁…如此往複。
因為數據太多了,且時間緊迫(只有兩天),她弄不完,讓我幫她分擔一部分。
我一看這尼瑪不就是搬磚么!!
但是對於萌妹紙的請求怎麼能拒絕呢?!
雖然我不是計算機專業,但算是有點編程基礎,也知道寫程序來做這種重複性勞動再合適不過了。於是就開始研究怎麼在Excel上編程解決這個問題。
於是各種Google,知道了大概要用VBA來搞定。以前也沒學過VB,所以大概用了半天的時間囫圇吞棗學了下VBA,又用多半天時間研究如何用VBA從網頁上扒數據,如何用條件篩選出需要的數據,如何把這些數據粘貼到目標單元格的對應位置,還有各種corner case。(尼瑪這幫公司財報的格式各種不一致啊)接下來就開始跑程序,邊跑邊debug。
最後大概用了不到兩天的時間,寫出了個幾百行的程序(大神們見笑了),幫她把數據都搞定了。最後算了一下,我編程+處理數據的時間,和自己手動複製粘貼所有數據的時間大概差不多。。
不過我還是覺得值!!因為如果數據量只要再大一點,我用程序處理的速度終究會勝過人工處理的速度。而且,同樣的時間內,我如果手動複製粘貼肯定會無聊死。這樣還入門了一門程序語言,編了個大概能用的程序(代碼質量不忍直視),何樂而不為呢?
FYI,妹紙最後感動地說:你真是個好人!我的口語比較渣,最近在跟著一位微信公微上面的一位老師學習口語。因為口語不行所以需要對著文本練習。所以自己為了偷懶。不想每次聽語音的時候去翻文本就自己寫了一個網站。http://say.microdba.com 可以隨時暫停,反覆聽。那位老師的公眾賬號:尹國科的英語課堂。這個應該是學習效率
對方網站漏洞已經被修復了。現在源碼公開,github上,我的賬號kingname,在python項目下面,它的名字叫comic_downloader
===========================用python寫了一個賣肉漫畫下載器。下載賣肉漫畫的時候,某網站只能讓沒有交費的用戶每天看5本,後來我發現這個功能使用JavaScript來做的,源代碼裡面漫畫地址仍然有。於是用python寫了一個爬蟲,通過正則表達式批量提取漫畫地址,輕鬆把漫畫扒了下來。
點贊過20放程序截圖,過100放賣肉漫畫下載器程序,過200放源代碼。
提高自己工作效率的不多。因為作為碼農,就是需要大量繁雜的手工勞動,如果你的工作能夠工業化自動化了,你的價值如何體現呢。
比如說我自己開發給photoshop開發了一個 ICO 插件,然後我自己寫的程序的圖標就一直用這個插件來製作了。
在做一個http://asp.net的後台時,因為有一些代碼具有固定的pattern,從代碼片段A能得到代碼片段B和C,所以寫了一個代碼生成的程序,這樣就只需要我自己寫出代碼片段A,B和C自動生成,我只需要copy一下就可以了。
幫別人做的程序包括,數千個二維碼批量生成下載並自動分類(後來發現那個網站好像把這個介面給封了-,不過程序已經用完了),集中的大量的文件實現自動分發到指定的文件夾中(為了實現分工),用戶提供一種演算法(這個演算法比較複雜),程序自動統計資料庫中的數據,實現根據標準預警和郵件的自動發送。用模擬輸入的方式幫助用戶自動填充發票(類似遊戲外掛),。。。等等。
96年上初中那會兒,還不知道有excel,周圍人也不知道。期中、期末考試結束後,要對班上近60個人的共10幾門課成績排名次。就和同學用QBASIC寫了個排序演算法。然後我們的任務就只需要輸入每個人每門課的成績了。自我感覺比其他班十幾個人一塊兒手工計算排名效率高很多。至少在發現有記錄錯誤或有人修改分數(老師評分錯誤)後重算的過程中是。
物理實驗寫了個shell跑數據。
經常碰到需要一個時間離現在多少天/小時/分鐘/秒的時候,寫程序,還涉及到閏年的判斷...
我是做通信工程的,做工程就要設計各種文檔,需要差照片填寫信息。vba 可以全部搞定,一鍵化。原來一個報告需要5分鐘,現在只需要8秒。只需1000多行的代碼。
用Python讀Excel,生成文字,用matplotlib畫圖。還可以定期做。自動化。
看問題你應該不是碼農,那麼:
- office+vba是你的朋友
- 再複雜點用autoit
- 這些都搞不定的話直接去找專業人員
各種腳本語言,入門簡單實用高效。
推薦閱讀:
※[10] Python條件判斷語句(一)
※【Kotlin填坑-02】使用高階函數後的when語句
※想學編程,朋友說先下載 Linux 玩,下什麼版本好?