說來慚愧,,學(xué)習(xí)Python已有兩年之久,,從在公開征集一起零基礎(chǔ)學(xué)Python的學(xué)友之后,,每年只在下半年斷斷續(xù)續(xù)看完兩本書籍,,聽過2門課程,學(xué)完之后仍然什么代碼都不會寫,。 為了以完成某一目標(biāo)而學(xué)習(xí),,設(shè)置了一大堆需要python幫助提高工作效率的學(xué)習(xí)目標(biāo),基本只能寫兩三行代碼,后面就不知道怎么去實(shí)現(xiàn)了,。 在聽了楊洋老師的《全民一起玩Python》幾節(jié)提高課之后,,我決定再次動手試一試,通過python幫助我完成一個(gè)亟需解決的任務(wù),。 我一如既往的打開pycharm,,使用openpyxl打開一張excel表格,使用for循環(huán)獲取所有的sheet,,掃描每個(gè)sheet里面的每個(gè)單元格,,找到我想要的那個(gè)項(xiàng)目名稱……又進(jìn)行不下去了。不過這次,,我的思維比之前開闊了許多,。 我通過python代碼找到我需要的那個(gè)項(xiàng)目名稱,但是項(xiàng)目名稱對應(yīng)的數(shù)值眼看著就在那一行的第三列,,但不能直接使用字母和數(shù)字來表示單元格,,而要使用變量來實(shí)現(xiàn),這個(gè)要怎么操作呢,?思考了一會兒,,我發(fā)現(xiàn)是我沒學(xué)透openpyxl這個(gè)模塊的原因。 我找到openpyxl官網(wǎng),,認(rèn)認(rèn)真真的從頭開始跟著敲了一遍代碼,,在python的自帶程序IDLE(Python3.8)里面變著花樣的反復(fù)練習(xí)。敲到這里的時(shí)候,,我終于有了一點(diǎn)新發(fā)現(xiàn):
原來,,行和列可以通過方括號來解決。比如'A3',,可以使用ws[列][行]來實(shí)現(xiàn),,我可以定義兩個(gè)變量來代替列和行,還可以讓列和行加上數(shù)字,。 開始試驗(yàn),,終于得到了我想要的效果,。再加上之前的一點(diǎn)點(diǎn)知識,。我的這個(gè)小任務(wù)終于完成了。代碼如下:
項(xiàng)目名稱可以根據(jù)自己想要查詢的條件自行修改,。當(dāng)然了excel表格自帶的【合并計(jì)算】功能也可以完成這個(gè)結(jié)果,但是我的這個(gè)excel表格里有十幾個(gè)sheet,使用自帶功能需要一個(gè)個(gè)手動選擇,,比較麻煩,。況且我正在學(xué)習(xí)python,剛好可以練習(xí)一下,。 以上代碼可能不夠生簡潔優(yōu)雅,,但作為一個(gè)編程初學(xué)者,能通過學(xué)習(xí)來實(shí)現(xiàn)工作中的一個(gè)小任務(wù),,非常開心,。 這里只是想分享一個(gè)學(xué)習(xí)python編程的思路。除了看書,,跟著視頻課程操作,,最重要的是要自己從最基礎(chǔ)的部分跟著敲代碼,邊操作還要反復(fù)思考,,能不能換代碼實(shí)現(xiàn)相同的效果,,舉一反三。 看書和聽課的最大作用在于跟著大師們學(xué)習(xí)編程思路和高級用法,,思路打開了,,想要實(shí)現(xiàn)某個(gè)任務(wù),可以在網(wǎng)上搜索他人的代碼學(xué)習(xí),。最后,,千叮萬囑,在使用某個(gè)模塊的時(shí)候,,一定要知道它的一些最基本的用法,,這樣才能做到靈活運(yùn)用。 [1]https://www./questions/simple/j2ii87 [2]https://openpyxl./en/stable/tutorial.html |
|