當Python遇上Excel


今天是年初七,大家快要上班了,來和Paradoxical一起學習一下如何用Python操作Excel吧~


Paradoxical在春節假期也沒有閒着,繼續學習着Python,其中學會用Python操作Excel就是最大的收穫。


首先我們要安裝openpyxl庫,在命令行輸入“pip install openpyxl”即可。接下來說一下3個比較關鍵的對象。

  1. 工作簿對象Workbook

    一個工作簿就是一個Excel文件,裏面可以包含多個工作表。

  2. 工作表對象Worksheet

    一個工作表對象就是工作簿裏的表,裏面包含多個單元格。

  3. 單元格對象Cell

    單元格就是Excel存放數據的地方。


下面我們來學習一下openpyxl的用法。首先新建一個Excel文件,在裏面寫入一些測試用的數據。

圖片



打開工作簿文件


可以使用load_workbook()或者Workbook()打開一個已有的工作簿。

import openpyxl as xl
#方法1wb = xl.load_workbook('test.xlsx')
#方法2wb2 = xl.Workbook('test.xlsx')



工作表操作


工作簿的active屬性或者get_active_sheet()可獲取打開Excel表時看到的工作表。

wb.active
wb.get_active_sheet()


此外,還可以用get_sheet_by_name()根據工作表的名字獲取工作表。

wb.get_sheet_by_name('Sheet1')


創建工作表。

#默認以Sheet + 數字的形式創建一個工作表wb.create_sheet()
#指定工作表的名字wb.create_sheet('newSheet')
#指定工作表的名字和位置wb.create_sheet('newSheet', 0)


查看和修改工作表的名字。

#該屬性返回一個列表wb.sheetnames
#也可以用迭代的方式查看for sheet in wb:    print(sheet.title)    #可以直接對工作表對象修改wb.active.title = 'Sheet0'


刪除工作表。

#方法1Sheet0 = wb.get_sheet_by_name('Sheet0')wb.remove(Sheet0)
#方法2del wb['Sheet0']


獲取工作表最大行列數

#最大行數wb.active.max_row
#最大列數wb.active.max_column



單元格操作


獲取單個單元格。

#第一個參數是行,第二個參數是列wb.active.cell(2, 1)
#通過單元格名字獲取wb.active['A1']


獲取多個單元格。

#這種方法冒號前需要區域左上角和右下角的單元格wb.active['A1': 'B2']
#獲取單列的單元格wb.active['A']
#獲取多列的單元格wb.active['A:C']
#獲取單行的單元格wb.active[1]
#獲取多行的單元格wb.active[1:2]


獲取和修改單元格的值。

#獲取單元格的值wb.active['A1'].value
#修改單元格的值wb.active['A1'].value = 3


保存爲文件。

#需要指定文件路徑wb.save('test.xlsx')


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章