python 使用 openpyxl 打开及读取 excel 表格

2023-11-19

openpyxl简介

  • openpyxl 最好用的 python 操作 excel 表格库,但不是官方的标准库,需要手动安装
  • 可以读取和写入excel文件,支持【.xlsx / .xlsm / .xltx / .xltm】格式的文件,可处理excel数据、公式、样式,且可以在表格内插入图表

官方文档

安装openpyxl

pip install openpyxl
或
pip3 install openpyxl

打开及读取表格内容

首先,需要了解 Excel 表格中的 行(row)、列(column)、格子(cell) 和 sheet 表
在这里插入图片描述

1、打开 Excel 表格并获取表格名称

在这里插入图片描述

from openpyxl import load_workbook

# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格

2、通过 sheet 名称获取表格

from openpyxl import load_workbook

# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格


# 2.通过 sheet 名称获取表格
sheet1 = workbook["分期产品app端"]
print(sheet1)
# 输出结果: <Worksheet "分期产品app端">

3、获取表格的尺寸大小(几行几列数据)

from openpyxl import load_workbook

# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格


# 2.通过 sheet 名称获取表格
sheet1 = workbook["分期产品app端"]
print(sheet1)
# 输出结果: <Worksheet "分期产品app端">


# 3.获取表格的尺寸大小(几行几列数据)
print(sheet1.dimensions)
# 输出结果: A1:S207
# 从 A1:S207         A列到S列 共19列 207行

4、获取表格内某个格子的数据

from openpyxl import load_workbook

# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格


# 2.通过 sheet 名称获取表格
sheet1 = workbook["分期产品app端"]
print(sheet1)
# 输出结果: <Worksheet "分期产品app端">


# 3.获取表格内某个格子的数据
# 	1)  sheet["A1"]方式   获取 A1 格子的数据
#       cell.value 获取格子中的值

cell1 = sheet1['G5']
print(cell1.value)
# 输出结果:输出第7列第5行的内容:  
# 	1.未登录/登录过期情况下Me按钮进入页面  2.在Me页面中点击Sign up now



#   2) sheet.cell(row=, column=)方式
cell2 = sheet1.cell(row=4,column=5)
print(cell2.value)
# 输出结果:输出第4行第5列的内容:  
#	主页点击Apply Now查看是否能正常跳转到登录界面

5、获取某个格子的行数、列数、坐标

在这里插入图片描述

.row 获取某个格子的行数;
.columns 获取某个格子的列数;
.corordinate 获取某个格子的坐标
from openpyxl import load_workbook

# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')

# 2.获取表格 只有一张表格的时候,可以直接 active
sheet2 = workbook.active
print(sheet2)
# 输出结果 <Worksheet "Sheet1">

# 3.获取某个格子的行数、列数、坐标
cell2 = sheet2["E3"]
print(cell2.value, cell2.row, cell2.column, cell2.coordinate)
# 输出结果: 20岁用户是否可以通过机审 3 5 E3

6、获取一系列格子

6.1 sheet[]方式
from openpyxl import load_workbook



# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')

# 2.获取表格 只有一张表格的时候,可以直接 active
sheet2 = workbook.active
print(sheet2)
# 输出结果 <Worksheet "Sheet1">


# 3.获取一系列格子  sheet[]方式

 # 获取 A1:C2 区域的值
cells = sheet2["A1:C2"]
print(cells)
# 输出结果:((<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>, <Cell 'Sheet1'.C1>),
# (<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>, <Cell 'Sheet1'.C2>))

# 先行后列
for cell_rows in cells:
	for cell_columns in cell_rows:
		print(cell_columns.value)
# 输出结果:
# 功能模块(依据导图一级分支)
# 功能点(二级功能点/二级测试子任务)
# 优先级(主、高、中、低)
# 机审规则
# 年龄检测
# 主

特别的,如果我们只想获取“A 列”,或者获取“A-C 列”,可以采取如下方式:

sheet["A"] --- 获取 A 列的数据
sheet["A:C"] --- 获取 A,B,C 三列的数据
sheet[5] --- 只获取第 5 行的数据
from openpyxl import load_workbook



# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')

# 2.获取表格 只有一张表格的时候,可以直接 active
sheet2 = workbook.active
print(sheet2)
# 输出结果 <Worksheet "Sheet1">


# 3.获取一系列格子 sheet[]方式

 #  1)获取 E 列的数据
cells1 = sheet2["E"]
# print(cells)

for cell_columns in cells1:
	print(cell_columns.value)
# 输出结果:
# 用例概述(根据功能点进行分解)
# 19岁用户是否可以通过机审
# 20岁用户是否可以通过机审
# 25岁用户是否可以通过机审
# 61岁用户是否可以通过机审
# 60岁用户是否可以通过机审
# 在菲律宾境外提交申请
# 在菲律宾境内提交申请

#   2)获取 A,B,C 三列的数据
cells2 = sheet2["A:C"]
# print(cells)

# 先行后列
for cell_rows in cells2:
	for cell_columns in cell_rows:
		print(cell_columns.value)


#   3) 只获取第 5 行的数据
cells3 = sheet2["5"]
for cell_columns in cells3:
	print(cell_columns.value)
6.2 .iter_rows()与.iter_cols()方式

.iter_rows()是按行读取,.iter_cols()是按列读取。

from openpyxl import load_workbook



# 1.打开 Excel 表格并获取表格名称

# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')

# 2.获取表格 只有一张表格的时候,可以直接 active
sheet3 = workbook.active
print(sheet3)
# 输出结果 <Worksheet "Sheet1">


# 3.获取一系列格子  .iter_rows()与.iter_cols()方式

# 按行获取值
# 读取1-2行中1-4列的数据(先行后列)
# for i in sheet3.iter_rows(min_row=1, max_row=2, min_col=1,max_col=4):
# 	for j in i:
# 		print(j.value)
		
# 输出结果:
# 功能模块(依据导图一级分支)
# 功能点(二级功能点/二级测试子任务)
# 优先级(主、高、中、低)
# 用例编号(M-00001---管理端,A-00001---APP)
# 机审规则
# 年龄检测
# 主
# A-00001

#  按列获取值
# 读取1-2行中1-4列的数据(先列后行)
for i in sheet3.iter_cols(min_row=1, max_row=2, min_col=1,max_col=4):
	for j in i:
		print(j.value)
		
# 输出结果:
# 功能模块(依据导图一级分支)
# 机审规则
# 功能点(二级功能点/二级测试子任务)
# 年龄检测
# 优先级(主、高、中、低)
# 主
# 用例编号(M-00001---管理端,A-00001---APP)
# A-00001
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 使用 openpyxl 打开及读取 excel 表格 的相关文章

  • MQTT通信在JS中的实现

    MQTT协议 Message Queuing Telemetry Transport 消息队列遥测传输是由 IBM 发布的一种基于发布 订阅范式的 轻量级 消息协议 工作于TCP IP协议族之上 它是一种低开销 低带宽占用的即时通讯协议 可
  • 系统架构设计说明书

    目录 修订历史 文档审批信息 1 简介 1 1 目的 1 2 面向读者 1 3 文档组织 1 4 设计限定 1 5 术语说明 1 6 参考文献 2 项目建设目标和预期成果 2 1 建设目标 2 2 主要预期成果 3 系统非功能需求分析 3
  • 网络安全人才缺口超百万,如今的就业情况怎样?

    2022年9月7日 国家网络安全宣传周准时开始 本次网络安全宣传周和以前一样 主要目的都是为了普及网络安全知识 提高网络安全的防护技能 提升对电信网络诈骗的防范意识 在今年的主题论坛上 工信部发布并解读了 2022年网络安全产业人才发展报告
  • 【Vue】笔记四:浅析Vue三种开发模式:MVC、MVP、MVVM

    首先明确一点 开发模式 设计模式 开发模式 一个开发项目的方式或标准 RMVC 比较常见的三种开发模式 MVC MVP MVVM 1 MVC 个人感觉重点在View MVC全名是Model View Controller 是模型 model
  • 析构函数的注意问题以及用new开出来的空间用free释放会怎样

    大学学了越来越多的算法技术 但却不能忽略本源 编程语言是一切的基础 回过头来看依旧存在许多知识漏洞 返濮方能归真 前几天翻看别人的面经 发现了一个很有意思的问题 用new开出来的空间用free释放会怎样 借此机会 复习一下析构函数 并写了一
  • 接口测试理论

    了解接口测试https www cnblogs com houzhizhe p 6825457 html 什么是接口测试 测试人员通常所说的 接口测试 是针对系统各组件之间接口的一种测试 它属于功能测试 接口能测出普通界面操作难以发现的问题
  • 两个页面之间通过url地址栏进行传值

    第一个页面中有两个图片 当点击的时候能在第二个页面中获得它的属性值 通过location assign在第一个页面进行传值 location href在第二个页面进行接受值 一开始不会传值问题 但对于不知道怎么传值的人来说刚开始摸索 觉得好
  • useEffect详情用法

    1 为什么要使用useEffect 想必大家都是用过vue吧 在vue框架所写的项目中 我们通过在与后端进行数据交互的过程中 通常都是会在生命周期中进行数据的请求 然后将数据返回给页面进行渲染 在React中我们也是这样 但是在函数式组件中
  • Ubuntu18.04下SLEUTH 城市扩张模型编译与使用

    SLEUTH是CA模型的一种实现 由美国加州大学克拉克教授开发 可以模拟城市空间增长与土地利用变化 SLEUTH在Cygwin环境下可以运行 但是我尝试了很久都没有成功 于是我就尝试在Ubuntu系统下运行 编译与使用都非常简单 第一步 下
  • python爬虫系列7--动态网页爬取 selenium phantomjs chromedriver

    selenium phantomjs Selenium Selenium可以根据我们的指令 让浏览器自动加载页面 获取需要的数据 甚至页面截屏 或者判断网站上某些动作是否发生 Selenium自己不带浏览器 不支持浏览器的功能 它需要与第三
  • Android WiFi开发教程(二)——WiFi的搜索和连接

    在上一篇中我们介绍了WiFi热点的创建和关闭 如果你还没阅读过 建议先阅读上一篇文章Android WiFi开发教程 一 WiFi热点的创建与关闭 本章节主要继续介绍WiFi的搜索和连接 WiFi的搜索 搜索wifi热点 private v
  • python知识点

    0 1 python 语法基本知识点 注释 单行注释 这是使用三个单引号的多行注释 标识符 第一个字符必须是字母表中字母或下划线 标识符的其他的部分由字母 数字和下划线组成 标识符对大小写敏感 python保留字 False None Tr
  • python 小知识之 - simple http服务

    python3 9 windows 10 dos python一行命令搭建文件系统 cd d E Software python m http server 8090 浏览器访问 http localhost 8090 即可访问 E Sof
  • php知识点滴

    进度条的简单实现 echo ob flush flush 写日志文件 function mylog logthis file put contents myDebugLog log logthis r n FILE APPEND LOCK
  • EI会议——移动互联网、云计算和信息安全国际学术会议

    移动互联网 云计算和信息安全国际学术会议 International Conference on Mobile Internet Cloud Computing and Information Security 火热征稿中 大会官网 htt
  • PostgreSQL实用示例

    PostgreSQL实用示例 参考PostgreSQL 参考pass 创建表 CREATE TABLE bd peak index song feature lib id int8 NOT NULL features l decimal N
  • qpython3ll使用教程_Python3+Flask安装使用教程详解

    一 Flask安装环境配置 当前我的开发环境是Miniconda3 PyCharm 开发环境其实无所谓 自己使用Python3 Nodepad都可以 安装Flask库 pip install Flask 二 第一个Flask应用程序 将以下
  • 写时拷贝技术(copy-on-write)

    传统的fork 系统调用直接把所有的资源复制给新创建的进程 这种实现过于简单并且效率低下 因为它拷贝的数据也许并不共享 更糟的情况是 如果新进程打算立即执行一个新的映像 那么所有的拷贝都将前功尽弃 Linux的fork 使用写时拷贝 cop
  • Gartner:新型交付模式所引发的中国数字业务蝴蝶效应

    我们说无数字化无未来 数字化经济能够让企业的业务流程更灵活 更敏捷 达到中长期设定的目标 Gartner把数字化的业务定义为人 物 事全部的互联 这是未来所有数字化业务的一个基础 在数字化的基础上我们要好好谈一谈 交付 交付是生活中无时无刻

随机推荐

  • Meteasploit技术

    在使用Kali操作系统是应注意即使更新源 就像平时及时更新手机APP更新命令如下 apt get update 只更新软件包的索引源 作用 同步源的软件包的索引信息 从而进行软件更新 Apt get upgrade 升级系统上安装的所有软件
  • 力扣OJ(0401-600)

    目录 404 左叶子之和 412 Fizz Buzz 416 分割等和子集 419 甲板上的战舰 421 数组中两个数的最大异或值 426 将二叉搜索树转化为排序的双向链表 429 N叉树的层序遍历 431 将 N 叉树编码为二叉树 438
  • 基于springboot的课程作业管理系统

    随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 课程作业管理系统当然也不能排除在外 课程作业管理系统是以实际运用为开发背景 运用软件工程原理和开发方法 采用springboot框架
  • ubuntu小技巧7--ubuntu如何安装flashplayer

    ubuntu小技巧7 ubuntu如何安装flashplayer 安装Ubuntu的时候经常会用大视频播放 可是默认情况下Ubuntu并未安装flashplayer插件 导致浏览器无法播放视频 因此安装flashplayer将是一个必备技能
  • C语言打印金字塔,菱形,V形图案

    文章目录 目录 文章目录 前言 一 打印金字塔 等腰三角形 1 图案 2 代码 二 打印菱形 两个三角形拼在一起 1 图案 2 代码 三 打印V形 1 图案 2 代码 四 打印 倒着的 V 1 图案 2 代码 总结 前言 使用C语言打印图形
  • 苹果ID不能登陆:The action could not be completed. Try again

    终端输入以下命令修复 sudo mkdir p Users Shared sudo chown root wheel Users Shared sudo chmod R 1777 Users Shared
  • VTD — 智能驾驶复杂交通场景仿真工具

    德国VIRES 公司开发的复杂交通场景视景仿真工具VTD Virtual Test Drive 可应用于汽车主动安全 无人车半实物测试的实时复杂交通场景生成 含雷达 红外 摄像头等传感器成像 及汽车驾驶模拟器开发中的交通视景展示 也应用于工
  • 操作系统复习笔记 06 CPU Scheduling CPU调度

    CPU的三级调度 1 高级调度 Long term 作业调度 从外存进内存 2 低级调度 Short term 进程调度 分配处理机 3 中级调度 Medium term 对换 通过多道程序设计得到CPU的最高使用率 CPU IO脉冲周期
  • 【计算机毕业设计】家政服务平台

    家政服务平台 现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本家政服务平台就是在这样的大环境下诞生 其可以帮助管理者在短时间内处理完毕庞大的数据信息 使用这种软件工具可
  • Vue打包项目,并部署到Linux服务器中(详细过程)

    一 Vue打包 1 配置vue config js文件 将publicPath改为 否则会出现静态文件找不到 从而使index html文件打开空白页的问题 2 创建config js文件 并引入index html中 创建该文件主要使为了
  • 第十三章 opengl之模型(导入3D模型)

    OpenGL 模型 导入3D模型 优化 使用3D模型 模型 使用Assimp并创建实际的加载和转换代码 Model类结构如下 class Model public 函数 Model char path loadModel path void
  • MySql导出表结构到Word文档

    工具比较简陋 因工作要求临时写的 功能单一 只为了导出mysql表结构到word文档 运行环境 jdk1 8 执行命令 java jar xxxx jar 缺点 暂时只支持导出MySQL数据库 输入数据库配置和文件导出路径后点击测试连接 点
  • 正在启动文档服务器,正在启动远程服务器

    正在启动远程服务器 内容精选 换一换 本节操作介绍云服务器新内核启动失败时如何设置使用第二内核启动 本节操作适用于CentOS EulerOS操作系统 且系统内安装至少两个内核 登录控制台 重启云服务器 单击 远程登录 在出现Booting
  • 计算机win7几位,Win7 32位与64位有什么区别 Win7系统32位和64位的区别科普篇

    Win7系统分32位和64位版本 很多人在选择32位和64位系统的时候十分纠结 原因是自己的电脑应该安装哪一种版本 那么Win7 32位与64位有什么区别 下面装机之家分享一下Win7系统32位和64位的区别科普篇 Win7系统32位和64
  • 查看apk签名,查看key签名,adb常用命令

    在使用第三方sdk时经常要求绑定签名 这里提供两种查看签名的方式 如果只是想查看一下手机上应用的签名 那么可以安装一个app直接输入包名即可查看该应用的签名 提供一个微信的签名查看apk 下载连接http download csdn net
  • 【认证证书】计算机应急响应 - 中国信息安全测评中心CISP-IRE

    计算机应急响应 中国信息安全测评中心CISP IRE 知识体系 简略图片版 详细 官方 中国信息安全测评中心 http www itsec gov cn ryzc rsqsxz 版 考核方式 公安部第三研究所CCSS R 考核方式 资料 题
  • 使用wget从Google Drive下载数据集

    许多用于训练的数据集很大 一般通过Google Drive进行分享 而出于磁盘容量和方便训练的考虑 这些数据我们一般放在服务器上 服务器没有图形界面 因此我们需要使用wget来进行下载 Google Drive的链接格式是这个样子的 htt
  • go语言教程哪里有?go 语言优秀开源项目汇总

    目录 监控系统 容器技术 PaaS工具 大数据 微服务 CI CD 数据库技术 存储技术 分布式系统 消息系统 服务器管理 安全工具 网络工具 Web工具 Web框架 区块链技术 其它 监控系统 项目 简介 OpenFalcon OpenF
  • python:转义字符和input()的用法

    1 1转义字符 1序列 表反斜杆 表单引号 表双引号 a表ASCLL响铃符 BEL b表ASCLL退格符 BS f表ASCLL进纸符 FF n表ASCLL换行符 LF N name 表Udicode数据库中的字符名 其中name时它的名字
  • python 使用 openpyxl 打开及读取 excel 表格

    python 使用 openpyxl 打开及读取 excel 表格 openpyxl简介 安装openpyxl 打开及读取表格内容 1 打开 Excel 表格并获取表格名称 2 通过 sheet 名称获取表格 3 获取表格的尺寸大小 几行几