今天是年初七,大家快要上班了,来和Paradoxical一起学习一下如何用Python操作Excel吧~
Paradoxical在春节假期也没有闲着,继续学习着Python,其中学会用Python操作Excel就是最大的收获。
首先我们要安装openpyxl库,在命令行输入“pip install openpyxl”即可。接下来说一下3个比较关键的对象。
工作簿对象Workbook
一个工作簿就是一个Excel文件,里面可以包含多个工作表。
工作表对象Worksheet
一个工作表对象就是工作簿里的表,里面包含多个单元格。
单元格对象Cell
单元格就是Excel存放数据的地方。
下面我们来学习一下openpyxl的用法。首先新建一个Excel文件,在里面写入一些测试用的数据。
打开工作簿文件
可以使用load_workbook()或者Workbook()打开一个已有的工作簿。
import openpyxl as xl #方法1 wb = xl.load_workbook('test.xlsx') #方法2 wb2 = 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'
删除工作表。
#方法1 Sheet0 = wb.get_sheet_by_name('Sheet0') wb.remove(Sheet0) #方法2 del 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')
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did164921