湖南締凡教育

7x24小時(shí)咨詢熱線

400-660-3310

當(dāng)前位置 : 好學(xué)校 湖南締凡教育 學(xué)習(xí)資訊 資訊詳情

苦學(xué)3個(gè)月,我終于用python賺錢啦

2021-05-14

苦學(xué)3個(gè)月,我終于用python賺錢啦

當(dāng)初學(xué)習(xí)python的原因,除了多掌握一個(gè)技能,提升自己的競(jìng)爭(zhēng)力外,就是想利用python開啟副業(yè),拿它來幫我賺錢!!

賺錢

醬醬在體驗(yàn)期就說得學(xué)了python可以做兼職,我是半信半疑的,帶著興趣和和好奇,開始了學(xué)習(xí)之旅

在后來的深入過程中,自己 在工作上受益頗多,提高效率,節(jié)省了很多時(shí)間,這個(gè)已經(jīng)很值得

比如一鍵給文件夾重命名

編程

又比如下載好的文件自動(dòng)解壓

文件自動(dòng)解壓

越學(xué)習(xí),越覺得python有用,以締凡的python小課作為起點(diǎn),后面自己也深入去學(xué)習(xí)了SQL,MONGODB數(shù)據(jù)庫,反爬蟲,分布式爬蟲等更加深入的知識(shí)

到今天也算學(xué)有小成,想爬的大部分網(wǎng)站都可以高效爬取,下一步也打算把這個(gè)技能利用起來,去變成自己的財(cái)富。

令我驚喜的是,今天,我開始了這一步。接到了我的第 一個(gè)單子:處理一個(gè)一百五十多萬行的excel數(shù)據(jù)!

編程要求

看著挺簡(jiǎn)單的,然而

編程交流

當(dāng)時(shí)猶豫 了一下,因?yàn)闆]有試過處理這么多數(shù)據(jù),心里沒底。但是靚仔我是學(xué)過多任務(wù)的人,不能慫。

編程需求

拿了一個(gè)樣本,簡(jiǎn)單理解了一下需求

編程代碼

邏輯很簡(jiǎn)單:統(tǒng)計(jì)第1列數(shù)據(jù)的重復(fù)次數(shù),并且把對(duì)應(yīng)的第2列的值返回。

整理一下思路,最簡(jiǎn)單的方法就是,把excel前2列的值讀取,然后構(gòu)建字典,把第1列的值當(dāng)作字典的鍵,第2列的值轉(zhuǎn)換成列表當(dāng)作鍵的值

編程一

然后遍歷第1列,判斷鍵是否存在,不存在則新建,存在則把第2列的值追加到值列表中,遍歷完成后再寫入一個(gè)新的文件,理論上是可行的,截取了3000多行的數(shù)據(jù)寫了個(gè)demo運(yùn)行驗(yàn)證了一下,用openpyxl讀取文件,簡(jiǎn)單的邏輯操作,運(yùn)行,得到結(jié)果,非常完美

表情包一

沒想到這么簡(jiǎn)單,正在為問題解決高興,我換了其中一個(gè)30萬+的數(shù)據(jù)來處理的時(shí)候,程序報(bào)錯(cuò):

編程二

經(jīng)過一番研(bai)究(du),終于定位到問題,原來openpyxl這個(gè)庫最 大支持讀取excel文件的行數(shù)是小于16萬行,超過了沒法讀取

表情包二

正所謂一個(gè)庫不行,那就換一個(gè)!python的優(yōu)勢(shì)就是庫多,所以又把目標(biāo)轉(zhuǎn)向了pandas這個(gè)神器

同樣一番操作,pandas雖然處理功能強(qiáng)大,但是導(dǎo)入文件仍然有行數(shù)的限制,問題沒有解決

編程三

被困住后,我在考慮要不要把文件拆分成幾個(gè),這樣就可以導(dǎo)入。但是使用代碼自動(dòng)拆分也行不通,因?yàn)楦緵]法讀??!

如果手動(dòng)拆分的話,又太麻煩了,失去了python自動(dòng)化的意義,而且excel有可能會(huì)崩。。。。

表情包三

這時(shí)靈光一現(xiàn),直接讀取excel會(huì)被限制,能不能轉(zhuǎn)換成其它格式的文件導(dǎo)入呢?

下意識(shí)地就想到了CSV格式,它和xlsx格式相近,都是表格結(jié)構(gòu),而且在excel內(nèi)就支持轉(zhuǎn)換。

于是,我把其中一個(gè)文件轉(zhuǎn)換成了CSV格式,導(dǎo)入,處理,一氣呵成

編程四

運(yùn)行一下!成功了,36萬行數(shù)據(jù)竟然不到一分鐘就搞定了?。◇@喜,本來擔(dān)憂的性能問題完全沒有出現(xiàn)!檢查一下內(nèi)容,也沒有問題,順手把四個(gè)文件轉(zhuǎn)換成csv格式處理掉。

編程五

amazing!不到4分鐘就處理完成了,這個(gè)速度是讓我驚訝的!

后來我又試了一下使用excel直接處理這些數(shù)據(jù),果不其然,excel停止響應(yīng)了!

編程七

這樣的處理無疑會(huì)浪費(fèi)大量的時(shí)間,而且excel崩潰后往往還要重新做,太痛苦?。?/p>

相比之下python處理起來就簡(jiǎn)單多了!雖然前面走了一點(diǎn)彎路,踩了幾個(gè)坑,總體時(shí)間也在3小時(shí)內(nèi)搞定!

編程需求二

最 后收到酬勞還是美滋滋的,畢竟第 一次用python的技術(shù)賺錢了!

編程需求四

回顧一下整個(gè)過程中,不熟悉openpyxl和pandas的導(dǎo)入限制,不斷地檢索和查找原因浪費(fèi)了部分時(shí)間,真正用于寫代碼和運(yùn)行的時(shí)間是很少的

編程八

代碼如上圖,幾乎所有的知識(shí)點(diǎn),在學(xué)分表的基礎(chǔ)語法就涵蓋了。

總結(jié)一下,python的確是個(gè)有用且值錢的技能,不但在工作中提高效率,而且還能賺點(diǎn)小外快,快去get起來吧!

收藏
分享到:

相關(guān)課程

相關(guān)資訊

湖南締凡教育

湖南締凡教育

認(rèn)證等級(jí)

信譽(yù)良好,可安心報(bào)讀

湖南締凡教育

已獲好學(xué)校V2信譽(yù)等級(jí)認(rèn)證

信譽(yù)值

  • (60-80)基礎(chǔ)信譽(yù)積累,可放心報(bào)讀
  • (81-90)良好信譽(yù)積累,可持續(xù)信賴
  • (91-100)充分信譽(yù)積累,推薦報(bào)讀

與好學(xué)校簽訂讀書保障協(xié)議:

  • 100%
  • 4
  • 1282
在線咨詢
;