有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!

有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!

私信小編007即可自動獲取大量python視頻教程以及各類PDF!

微軟的Windows操作系統在PC端具有碾壓性的優勢,它的Office辦公軟件在我們的日常工作學習中的應用可以說是無處不在。其中Excel是可編程性最好的辦公應用,Python中的openpyxl模塊能夠對Exel文件進行讀取、修改以及創建,在處理大量繁瑣重複的Excel文件時,openpyxl模塊讓計算機自動進行處理成為可能。

本文主體將分為兩大部分,第一部分介紹openpyxl模塊的基本方法,主要涉及Excel的讀取寫入等方法,第二部分實踐4個例子。

01

準備

安裝openpyxl

openpyxl模塊為Python的第三方庫,需要使用pip指令進行安裝:pip install openpyxl;安裝完成之後再控制檯輸入import openpyxl回車之後沒有報錯則說明成功安裝。

02

讀取EXCEL

讀取內容

該模塊能夠讓Python讀取Excel文件,以下為讀取例子:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


執行以上代碼輸出結果為:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!

在上述例子中,我們使用了這個模塊的一些方法。使用wb = openpyxl.load_workbook('example4.xlsx')加載了example4.xlsx文件,存儲再wb變量中;接著我們使用wb所指向的對象的get_sheet_names()方法獲取這個工作簿的所有工作表的名稱;使用get_active_sheet()方法獲取活躍的工作表,即打開Excel文件默認展示的工作表;使用get_sheet_by_name()方法獲取特定名稱的工作表;接著我們獲取單個單元格的值以及一個範圍單元格的值。

03

寫入EXCEL

寫入內容

與Python中給變量賦值類似,openpyxl模塊使用“=”賦值的方式將內容寫入對應的單元格。在example4.xlsx文件中的“Sheet”工作表為空,我們現在往其中的單個單元格以及特定範圍單元格寫入內容。

寫入前的“Sheet”工作表:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!



程序代碼:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!



寫入後的“Sheet”工作表:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


通過以上例子我們成功的將值寫入Excel文件,可以看給特定單元格賦值的方法有兩種,一種是sheet['C4'].value = “值”的形式,另一種時sheet.cell(row=4,column=4).value = “值”的形式,兩者效果等效,都是在C4單元格寫入值,為了配合循環的使用,使用後一種更加方便。

除了以上的方法外,還有獲取工作表大小、字體設置等的方法,在後面的實例中會有使用。其他更多的方法可以網上查詢或到官方網站查閱文檔:https://openpyxl.readthedocs.io/en/stable/

04

4個小例子

基於之前介紹的基本方法我們來實現4個小例子。

第一個例子的要求為:創建程序 ,從命令行接受數字 N,在一個 Excel 電子表格 中創建一個 N×N 的乘法表,另外行 1 和列 A 應該用做標籤,應該使用粗體。最終的實現效果如下:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


這個例子的思路首先要將第一行所有列的值,以及第一列所有行的值寫入;接著某一個單元格的值就應該等於這個單元格所有行的第一列的值乘以所在列的第一行的值。具體實現如下:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


這裡第一步我們使用openpyxl.Workbook()函數創建了一個對象,並將該對象的引用返回存在wb變量中,而不是從已有的Excel文件加載。

第二個例子要求為:創建一個程序,它接受兩個整數和一個文件名字符串作為 命令行參數。我們將第一個整數稱為 N,第二個整數稱為 M。程序應該從第 N 行開 始,在電子表格中插入 M 個空行。最終實現如下,在第4行插入5個空行:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


實現思路為:先將前N行的數據存起來,原封不動放到新的工作表中;第N+1行到最後,每個單元格的行加M,整體後移M。實現代碼如下:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


第三個例子為:編寫一個程序,翻轉電子表格中行和列的單元格。例如,第 5 行第 3 列的值將 出現在第 3 行第 5 列(反之亦然)。這應該針對電子表格中所有單元格進行。實現前後效果如下:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


實現思路為:逐行獲取值,存為列表;最後將所有的行存成一個大的列表,這樣“列表”[ i ][ j ]獲得的就為第i行第j列的單元格的值;最後逐一取出列表的值,賦值給新列表第j行第i列的單元格。具體實現如下:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!



第四個例子為:編寫一個程序,讀入幾個文本文件的內容,並 將這些內容插入一個電子表格,每行寫入一行文本。第一個文本文件中的行將寫入 列 A 中的單元格,第二個文本文件中的行將寫入列 B 中的單元格,以此類推。

這裡我準備了幾份文本文件,我們將這些文件以單元格的形式寫入Exel文件:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


實現的效果如下


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!



實現思路:使用os庫的listdir()方法找到所在目錄的所有文件,接著找出.txt文件,循環遍歷獲取文件名;使用文件打開的方法打開文件,使用readlines()讀取內容以列表形式返回所有的內容;最後遍歷這個列表寫入Excel文件。詳細實現如下:


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!


有了這篇python操作Excel學習筆記,以後儲存數據 辦公很輕鬆!

既然可以從文件寫入Excel表格,反過來也可以將Excel中的內容寫入文件,以列為單位,一列代表一個文件,寫到txt文件中。有興趣的看官可以嘗試一下。

05

結束

以上為Python操作Excel的基本方法,看起來好想沒有想象中那麼自動化,但是這些都是最基本的操作。就好比做菜用到的原材料、調料等,但是不同的人做出來的菜水平不一,這裡用到的方法可以看作時原材料,最終實現的功能看作做好的菜,做出來的菜好不好吃,做出來的功能好不好用,就看想法、看技術實現了。


分享到:


相關文章: