今天是年初七,你們快要上班了,來和Paradoxical一塊兒學習一下如何用Python操做Excel吧~app
Paradoxical在春節假期也沒有閒着,繼續學習着Python,其中學會用Python操做Excel就是最大的收穫。ide
首先咱們要安裝openpyxl庫,在命令行輸入「pip install openpyxl」便可。接下來講一下3個比較關鍵的對象。學習
工做簿對象Workbook測試
一個工做簿就是一個Excel文件,裏面能夠包含多個工做表。spa
工做表對象Worksheet命令行
一個工做表對象就是工做簿裏的表,裏面包含多個單元格。code
單元格對象Cellorm
單元格就是Excel存放數據的地方。對象
下面咱們來學習一下openpyxl的用法。首先新建一個Excel文件,在裏面寫入一些測試用的數據。blog
打開工做簿文件
能夠使用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')