當Python趕上Excel


今天是年初七,你們快要上班了,來和Paradoxical一塊兒學習一下如何用Python操做Excel吧~app


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


首先咱們要安裝openpyxl庫,在命令行輸入「pip install openpyxl」便可。接下來講一下3個比較關鍵的對象。學習

  1. 工做簿對象Workbook測試

    一個工做簿就是一個Excel文件,裏面能夠包含多個工做表。spa

  2. 工做表對象Worksheet命令行

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

  3. 單元格對象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')
相關文章
相關標籤/搜索