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

2021-03-02 python教程

微軟的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文件,以下為讀取例子:

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

在上述例子中,我們使用了這個模塊的一些方法。使用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」工作表:

程序代碼:

寫入後的「Sheet」工作表:

通過以上例子我們成功的將值寫入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 應該用做標籤,應該使用粗體。最終的實現效果如下:

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

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

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

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

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

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

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

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

實現的效果如下

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

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

05

結束

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

ps:推薦一下我建的python學習交流扣扣qun:937667509,群裡有免費的視頻教程,開發工具、電子書籍、項目源碼分享。學習python web、python爬蟲、數據分析、大數據,人工智慧等技術有不懂的可以加入一起交流學習,一起進步!

長按下面二維碼關注我

微信公眾號:python教程

相關焦點

  • 利用python操作Excel教程
    很多人都會使用excel來對數據做處理,但隨著python的日益強盛,不甘落後的我們也可以用python來完成這些工作,該教程目的是教會您用Python腳本來對excel做處理。案例一:以下是創建Pandas數據框並使用該to_excel() 方法將該數據寫入Excel文件的簡單示例 :結果顯示:
  • 【他山之石】Python和Excel終於可以互通了,自動化辦公實操寶典速來下載!
    前言今天分享我的一位同事在學習了Huang Supreme寫的《Python自動化辦公寶典》之後,如何使用Python快速處理日常工作中的Excel數據表格。本文將以詳細圖表/代碼的形式講解如何對Excel進行讀取、寫入及樣式調整,基本還涵蓋了我們常用的Excel處理數據的方法。
  • 講一講我是如何通過Python實現辦公自動化的
    對於一些平常的職場辦公,Python更是能夠很好的解決,極大的解放了我們的雙手,留出大量的空餘時間去學習或者是幹其他的事情。自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,今天我們主要來講講excel、ppt、word自動化的操作技巧。
  • Python自動化辦公(內容)
    python自動化辦公(python操作Excel、Word、PDF、PPT)python使用openpyxl操作excel;python使用PyPDF2和pdfplumber操作pdf;python使用python-docx操作word;python使用python-pptx操作PPT;python如何自動收發郵件;python製作電話號碼歸屬地查詢工具;一:python
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    6套課程) 資料庫操作(1套課程) python高級編程(6套課程) 注:零基礎全能篇中,針對windows和liunx系統均有兩套課程可供選擇學習,單純學python,哪個系統都一樣,初學者只需選擇自己熟悉的系統學習相應課程即可。
  • python+xlrd+xlwt操作excel
    報名微信長按下方二維碼課程介紹長按下方二維碼介紹xlrd(讀操作),xlwt(寫操作)上述軟體下載後,分別解壓,之後在cmd命令下分別進入對應的目錄中運行python setup.py install如果運行過程中提示缺少setuptools,
  • 詳解Python操作Excel文件
    前言本篇文章主要總結了一下利用python操作Excel文件的第三方庫和方法。常見庫簡介1.xlrdxlrd是一個從Excel文件讀取數據和格式化信息的庫,支持.xls以及.xlsx文件。支持Excel操作。4.xlwingsxlwings是一個可以實現從Excel調用Python,也可在python中調用Excel的庫。
  • 氣象編程 | 使用python操作Excel文件
    我們在辦公日常用經常會接觸到辦公軟體Excel,也會遇到大量數據遷移的問題,手動操作這麼反人類的事情,俺們程式設計師肯定是不會幹的。Python這種程式語言,近幾年在國內十分火熱。很多程式設計師都多少會一點,用來寫一些腳本。
  • python辦公自動化
    的、可以提高工作效率的辦公小功能,和大家分享,希望可以提高大家辦公效率;1. python定時運行代碼我在公司做了一個日報數據的自動發送功能;寫了一個代碼,這個代碼在每天的早上5點自動運行;我還寫了一個大屏幕的數據的後端,每隔半小時就運行一次;我使用的是window10系統;剛開始的時候
  • n種方式教你用python讀寫excel等數據文件
    點擊上方「濤哥聊Python」,選擇「星標」公眾號重磅乾貨,第一時間送達來源:Python大數據分析python處理數據文件的途徑有很多種,可以操作的文件類型主要包括文本文件(csv、txt、json等)、excel
  • PDF轉EXCEL,python的這個技能知道嗎?
    當在pdf上看到自己想用的表格,卻無法將其複製下來的時候,只能默默地打開excel對照著pdf表格的形式敲打出來,既費時又費力!這裡介紹如何用python程序將pdf上的表格自動轉化為excel表!請點擊輸入描述2.xlwtxlwt是python用來操作excel的一個庫
  • 柳小白Python學習筆記33 Excel表格處理1
    從今天起開始學習使用python的pandas模塊處理Excel表格。以「光大2020年1月.xls」為例,此工作薄包含「bwz」和"wz"兩個工作表。下圖展示的是第二個工作表即「wz」工作表。33-1首先打開「2020年1月.xls」工作簿,需要使用pandas.read_excel( ),這個函數有許多參數,本次用到「io」和「sheet_name」
  • Python自動化如何處理excel文件數據
    在python自動化中,經常會遇到對數據文件的操作,比如添加多名員工,但是直接將員工數據寫在python文件中,不但工作量大,要是以後再次遇到類似批量數據操作還會寫在
  • Python「文件操作」Excel篇(上)
    與word文件的操作庫python-docx類似,Python也有專門的庫為Excel文件的操作提供支持,這些庫包括xlrd、xlwt、xlutils、openpyxl、xlsxwriter幾種,其中我最喜歡用的是openpyxl,這也是本次講解的主要內容。Excel文件大家也不陌生了,平時辦公、學習中都會用到,大家回憶一下,你操作一個Excel文件是什麼步驟呢?
  • n種方式教你用Python讀寫Excel等數據文件
    內置模塊csvpython內置了csv模塊用於讀寫csv文件,csv是一種逗號分隔符文件,是數據科學中最常見的數據存儲格式之一。csv模塊能輕鬆完成各種體量數據的讀寫操作,當然大數據量需要代碼層面的優化。
  • 8個實用的 Python 自動化辦公技巧
    平時在公司做數據分析的時候, 也會用python做些辦公自動化的工作, 領導昨天說別人3個小時的活我們已經可以3分鐘完成了 。
  • 聊聊學python轉行、具體學習方法、自學python用於辦公、寫爬蟲等...
    Python這幾年都挺火的,比如說應用於數據分析、機器學習、自動化辦公、寫爬蟲採集數據等等……因為我之前發過幾篇和python有關的推文,所以不止一個朋友加私信問我說,你是怎麼學的,能不能談一談學習的經驗和技巧。
  • 基於Python實現對各種數據文件的操作
    本文總結使用Python對常見的數據文件進行讀寫操作
  • 用Python實現excel 14個常用操作
    數據是網上找到的銷售數據,長這樣:vlookup是excel幾乎最常用的公式,一般用於兩個表的關聯查詢等。所以我先把這張表分為兩個表。用excel的話首先確認訂單明細號是唯一值,然後在df1新增一列寫:=vlookup(a2,df2!a:h,6,0) ,然後往下拉就ok了。(剩下13個我就不寫excel啦)那用python是如何實現的呢?#查看訂單明細號是否重複,結果是沒。
  • 對比excel,用python實現逆透視操作(寬表變長表)
    綜合群友們的智慧,今天我們就來看看excel與python如何實現這個需求吧!註:本文演示的數據大家可以在「社科學術匯」後臺回復 20210928,文件夾領取。群聊目錄:1. excel逆透視技巧2.Pandas逆透視技巧excel做逆透視操作是需要用到Power Query。第一步:選中數據,然後在菜單欄-數據-點擊來自表格/區域