python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可从这里下载https://pypi.python.org/pypi
安装指令:
python -m pip install xlrd xlwt xlutils
1.安装openpyxl
python中与excel操作相关的模块:
- xlrd库:从excel中读取数据,支持xls、xlsx
- xlwt库:对excel进行修改操作,不支持对xlsx格式的修改
- xlutils库:在xlw和xlrd中,对一个已存在的文件进行修改。
- openpyxl:主要针对xlsx格式的excel进行读取和编辑。
安装方式:pip install openpyxl
2.Excel中的三大对象
- WorkBook:工作簿对象
- Sheet:表单对象
- Cell:表格对象
二、openpyxl对Excel的操作
- 创建一个工作薄:wb = openpyxl.Workbook()
- 新增一个sheet表单:wb.create_sheet('test_case')
- 保存case.xlsx文件:wb.save('cases.xlsx')
- 打开工作簿:wb = openpyxl.load_workbook('cases.xlsx')
- 选取表单:sh = wb['Sheet1'
- 读取第一行、第一列的数据:ce = sh.cell(row = 1,column = 1)
- 按行读取数据:row_data = list(sh.rows)
- 关闭工作薄:wb.close()
- 按列读取数据:columns_data = list(sh.columns)
- 写入数据之前,该文件一定要处于关闭状态
- 写入第一行、第四列的数据 value = 'result':sh.cell(row = 1,column = 4,value = 'result')
- 获取最大行总数、最大列总数:sh.max_row、sh.max_column
- del 删除表单的用法:del wb['sheet_name']
- remove 删除表单的用法:sh = wb['sheet_name'] wb.remove(sh)
import openpyxl
# 创建一个工作簿
wb = openpyxl.Workbook()
# 创建一个test_case的sheet表单
wb.create_sheet('test_case')
# 保存为一个xlsx格式的文件
wb.save('cases.xlsx')
# 读取excel中的数据
# 第一步:打开工作簿
wb = openpyxl.load_workbook('cases.xlsx')
# 第二步:选取表单
sh = wb['Sheet1']
# 第三步:读取数据
# 参数 row:行 column:列
ce = sh.cell(row = 1,column = 1) # 读取第一行,第一列的数据
print(ce.value)
# 按行读取数据 list(sh.rows)
print(list(sh.rows)[1:]) # 按行读取数据,去掉第一行的表头信息数据
for cases in list(sh.rows)[1:]:
case_id = cases[0].value
case_excepted = cases[1].value
case_data = cases[2].value
print(case_excepted,case_data)
# 关闭工作薄
wb.close()