大家好,我是Python進(jìn)階者。今天繼續(xù)給大家分享Python自動(dòng)化辦公的內(nèi)容,最近我發(fā)現(xiàn)學(xué)習(xí)自動(dòng)化辦公的小伙伴還是挺多的,創(chuàng)建了一個(gè)自動(dòng)化辦公專輯,歡迎大家前往學(xué)習(xí):【Excel篇】 1、盤(pán)點(diǎn)4種使用Python批量合并同一文件夾內(nèi)所有子文件夾下的Excel文件內(nèi)所有Sheet數(shù)據(jù) 2、手把手教你使用openpyxl庫(kù)從Excel文件中提取指定的數(shù)據(jù)并生成新的文件(附源碼) 3、手把手教你4種方法用Python批量實(shí)現(xiàn)多Excel多Sheet合并 4、手把手教你利用Python輕松拆分Excel為多個(gè)CSV文件 5、老板讓我從幾百個(gè)Excel中查找數(shù)據(jù),我用Python一分鐘搞定! 8、利用Python將Word試卷匹配轉(zhuǎn)換為Excel表格 【未完待續(xù)......】 前言前幾天在鉑金交流群里,有個(gè)叫【LEE】的粉絲在Python交流群里問(wèn)了一道關(guān)于Python自動(dòng)化辦公的問(wèn)題,初步一看覺(jué)得很簡(jiǎn)單,實(shí)際上確實(shí)是有難度的,題目如下圖所示。
二、解決思路如果是按照常規(guī)思路,無(wú)非是先創(chuàng)建一個(gè)Excel表格,之后把1-12月份共12個(gè)表格依次在Excel工作簿中進(jìn)行創(chuàng)建,之后給每一個(gè)表加入列標(biāo)題A、B、C,再之后,我們依次復(fù)制該Excel表格,之后進(jìn)行重命名,以年份作為表格命名。這個(gè)思路絕對(duì)是可行的,加以時(shí)間,肯定不在話下,我大概算了下,如果只是復(fù)制個(gè)20個(gè)Excel表,依次復(fù)制粘貼,之后重命名,大概算下來(lái),如果不出錯(cuò)的情況下(比方說(shuō)迷糊了,糊涂了......),需要5分鐘左右的時(shí)間。不過(guò)這里給大家介紹一個(gè)使用Python自動(dòng)化辦公的方法來(lái)幫助大家解決問(wèn)題,也保證不會(huì)出錯(cuò),大概10秒鐘左右就可以完成戰(zhàn)斗。 其實(shí)【LEE】自己也嘗試使用Python來(lái)解決,不過(guò)卻遇到了點(diǎn)問(wèn)題,雖然Excel文件是創(chuàng)建了,但是后面的月份寫(xiě)入和列名寫(xiě)入失敗了。
三、解決方法這里給出【??(這是月亮的背面】大佬】提供的代碼,大體思路其實(shí)是差不多的,但是實(shí)現(xiàn)的方法卻是用Python程序來(lái)實(shí)現(xiàn)的,效率就十分不一樣了。下面直接來(lái)看代碼吧!
這里大佬使用了openpyxl寫(xiě)入引擎,先把列名模板寫(xiě)好,之后遍歷年份,創(chuàng)建Excel表格,之后寫(xiě)入月份,不得不驚嘆,竟然還有這種寫(xiě)法,讓人為之一驚! 代碼運(yùn)行之后,在代碼目錄下會(huì)自動(dòng)生成相應(yīng)的Excel文件,如下圖所示。
之后每個(gè)Excel表格中,也有對(duì)應(yīng)的月份和A、B、C列名,如下圖所示。
四、總結(jié)我是Python進(jìn)階者。本文基于粉絲針對(duì)Python自動(dòng)化辦公的提問(wèn),給出了一個(gè)利用Python基礎(chǔ)+openpyxl的解決方案,完全滿足了粉絲的要求,給粉絲節(jié)約了大量的時(shí)間。 最后感謝【??(這是月亮的背面】大佬提出的代碼和建議,感謝【LEE】提問(wèn)。文章給出了一種解決方法,如果你也有其他的方法,也可以隨時(shí)分享給我噢!人生苦短,我用python! 更多Python自動(dòng)化辦公的相關(guān)代碼,我已經(jīng)上傳到git,歡迎大家下載和star支持。
------------------- End ------------------- |
|
|
來(lái)自: Python進(jìn)階者 > 《待分類》