2 openpyxl 及 excel 文件结构
openpyxl 是一个对 xlsx/xlsm/xltx/xltm 格式的 2010 excel 文档进行读写的 python 库。它官网有详细的文档介绍。在进行使用前,需先安装并引入
# 安装pipinstall openpyxl# 引入openpyxl 模块importopenpyxl复制代码
在进行 excel 操作之前,先对 excel 的文件结构做一个简单了解,以便于熟悉后续的操作。
这里说一句,小编是一名python开发工程师,我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编,或加学习群:930900780。
如下图:
一个 excel 文件,其内容按层次分为工作簿(文件) -> 工作表(sheet) -> 行列 -> 单元格 ,对应上图,整个 excel 文件即是一个工作簿;工作簿下可以有多个工作表(如图中的 Sheet1/test1 等等);工作表中就是对应的表格数据,分为行和列,行是用序号表示,列用大写字母表示(也可用序号);行与列的交点就是每一个存储数据的单元格。因此,我们对 excel 表格进行读写,基本按这个层次思路来操作:读入文件,找到工作表,遍历行列,定位单元格,对单元格进行读写。因此,会涉及到工作表、行列、单元格的读写操作。这些操作之前,需要先把文件加载进来,一个 excel 文件就是一个工作簿 (workbook),加载操作如下(示例中的 excel 文件为 text.xlsx):
# 加载excel文件file_path ="E:/pythontest/test.xlsx"workbook = openpyxl.load_workbook(file_path)复制代码
3 工作表处理
3.1 工作表读取
工作表( sheet )会有多个,可以读取全部的工作表,读取单个时,可以按 sheet 名称读取,也可以按下标(下标从0开始)。
全部工作表对象:workbook.worksheets
全部工作表名称:workbook.sheetnames
按名称(sheet_name)获取工作表:workbook[sheet_name]
按下标(i从0开始)获取工作表:workbook.worksheets[i]
获取正在使用的工作表:workbook.active
获取工作表的属性(如工作表名称、最大行数和列数等):sheet.title、sheet.max_row、sheet.max_column