一、openpyxl安装和介绍
1. 安装openpyxl
- 安装命令:
pip install openpyxl
- 已安装成功:
Requirement already satisfied: openpyxl in d:\install\python3.7.1\lib\site-packages (3.0.0)
Requirement already satisfied: jdcal in d:\install\python3.7.1\lib\site-packages (from openpyxl) (1.4.1)
Requirement already satisfied: et_xmlfile in d:\install\python3.7.1\lib\site-packages (from openpyxl) (1.0.1)
若pip命令提示:
unknow or unsupported command install
说明不支持命pip令,可能因为您的电脑中装了loadrunner等软件,导致了系统无法识别到底应该用哪个pip
E:\PycharmProjects\py23_class>where pip
D:\install\python3.7.1\Scripts\pip.exe
解决方法:输入完全路径的方式来执行pip命令
- pip升级命令
python -m pip install --upgrade pip
- python中与excel操作相关的模块:
- xlrd库:从excel中读取数据。支持xls、xlsx
- xlwt库:对excel进行修改操作。不支持对xlsx格式的修改。
- xlutils库:在xlwt和xlrd中,对一个已存在文件进行修改。
- openpyxl库:主要针对xlsx格式的excel进行读取和编辑。
注意:从桌面创建(.xlsx)格式的文件,把测试数据写入到excel中,然后复制到pycharm目录中
2. Excel中的三大对象
-
WorkBook:工作簿对象(excel文件)
-
Sheet:表单对象(每一个Sheet就是一个sheet对象)
-
Cell:表格对象(一个单元格就是一个Cell)
二、openpyxl对excel的操作
导入openpyxl
import openpyxl
第一步:打开已存在的excel文件
wb = openpyxl.load_workbook('文件名.xlsx')
第二步:选择工作簿中的某个表单(sheet)
sh = wb['表单名']
第三步:读取表格的内容
print(sh.cell(row=1, column=3).value)
往表格中写入内容(写入后一定要保存表单)
sh.cell(row=1, column=4).value = 123
保存表单(如果文件已存在,将覆盖原文件)
wb.save('文件名.xlsx')
获取表单中最大的行
max_row = sh.max_row
print(max_row)
获取表单中最大的列
max_column = sh.max_column
print(max_column)
按行读取表单中所有的格子对象,每一行的格子放在一个元祖中
rows = sh.rows
for r in rows:
print(r)
将表单中的内容,按行获取所有的格子
rows = list(sh.rows)
cases = []
获取表头,放到列表中
title = []
for c in rows[0]:
title.append(c.value)
获取除表头以外的其他行中的数据
for r in rows[1:]:
data = []
for c in r:
data.append(c.value)
case_data = dict(zip(title, data))
cases.append(case_data)
print(cases)