python使用openpyxl操作excel
定义
excel文件 : workbook
表 :worksheet
文件和表
*** 定义一个excel文件:***
from openpyxl import Workbook
wb = Workbook()
获取一个worksheet
ws = wb.active #*默认得到第一个表*
创建一个表
ws = wb.create_sheet() #在最后一个位置创建表
ws = wb.create_sheet(0) #在第一个位置创建表
更改表名
ws.title = 'sheetname'
更改表标签的背景色
ws.sheet_properties.tabColor = "1072BA"
通过表名获取一个表
ws = wb["tablename"]
获取一个表名
print(wb.get_sheet_names())
excel文件里的表标签可以迭代获取
for sheet in wb:
print(sheet.title)
单元格
访问单元格
cell = ws['A4'].value
改变单元格的值
ws['A4'] = 10
访问多个单元格
cell_range = ws['A1':'C2']
*其中cell_range是一个二维数组,容纳从A1到C2的一个单元格矩阵*
访问整列或者整行
ws.rows
((, , ),(, , ),(, , ),(, , ),(, , ),(, , ),(, , ),(, , ),(, , ))
| | | | | | | | | | | | | | | | | | | | | | | | | | |
ws.columns
((,,,,,,...,,),(,,,,,,,,))
| | | | | | | | | | | | | | | | | |
数据类型猜测
wb = Workbook(guess_types=True)
保存excel文件
wb = Workbook()
wb.save('balances.xlsx')
这个操作会覆盖原有的文件
读取excel文件
>>> from openpyxl import load_workbook
>>> wb2 = load_workbook('test.xlsx')
>>> print wb2.get_sheet_names()
['Sheet2', 'New Title', 'Sheet1']