今天是年初七,你们快要上班了,来和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')