使用openpyxl库读取Excel文件数据
在Python中,我们经常需要读取和处理Excel文件中的数据。openpyxl是一个功能强大的库,可以轻松地实现Excel文件的读写操作。本文将介绍如何使用openpyxl库读取Excel文件中的数据。
1. 导入所需库
首先,我们需要导入openpyxl库,这个库提供了许多用于操作Excel文件的功能。
from openpyxl import load_workbook
2. 加载工作簿
接下来,我们需要加载Excel文件的工作簿。
workbook = load_workbook(filename=r'C:\Users\liuchunlin2\Desktop\新建文件夹\新建 XLSX 工作表.xlsx')
请注意,filename参数需要指定Excel文件的路径。
3. 获取指定工作表
在Excel文件中,可能包含多个工作表。我们需要指定要获取数据的工作表名称。
sheet_name = "Sheet1"
sheet = workbook[sheet_name]
根据指定的工作表名称,我们可以获取到对应的工作表对象。
4. 遍历行和列
接下来,我们可以使用不同的方法遍历工作表中的行和列,并获取每个单元格的值。
4.1 遍历行
我们可以使用iter_rows()方法来获取指定范围内的一系列行,并遍历每行中的每个单元格。
for row in sheet.iter_rows(min_row=1, max_row=1, min_col=1, max_col=1):
for cell in row:
print(cell.value)
4.2 遍历列
同样地,我们可以使用iter_cols()方法获取指定范围内的一系列列,并遍历每列中的每个单元格。
for col in sheet.iter_cols(min_row=1, max_row=1, min_col=1, max_col=1):
for cell in col:
print(cell.value)
4.3 遍历所有行和列
除了使用上述方法来遍历特定范围内的行和列,我们还可以直接获取工作表中的所有行和列,并遍历每个单元格。
# 遍历所有行
for row in sheet.rows:
for cell in row:
print(cell.value) # 遍历所有列
for col in sheet.columns:
for cell in col:
print(cell.value)
4.4 获取所有单元格的值
如果我们只关注单元格中的值,并跳过格式信息,可以使用iter_rows()和iter_cols()方法的values_only=True参数来实现。
# 获取所有行的值
for row in sheet.iter_rows(values_only=True):
for cell_value in row:
print(cell_value) # 获取所有列的值
for col in sheet.iter_cols(values_only=True):
for cell_value in col:
print(cell_value)
4.5 获取指定范围的单元格区域
如果我们只需要获取特定范围内的单元格区域,可以使用切片来实现。
# 获取指定范围内的单元格区域
for row in sheet['A1:E8']:
for cell in row:
print(cell.value)
总结
本文介绍了如何使用openpyxl库读取Excel文件中的数据。通过加载工作簿、获取指定工作表以及遍历行和列,我们可以轻松地读取Excel文件中的数据并进行处理
完整代码:
from openpyxl import load_workbook
# 加载工作簿
workbook = load_workbook(filename=r'C:\Users\liuchunlin2\Desktop\新建文件夹\新建 XLSX 工作表.xlsx')
# 指定要获取数据的工作表名称
sheet_name = "Sheet1"
# 获取指定名称的工作表
sheet = workbook[sheet_name]
# 使用 iter_rows() 方法获取指定范围内的一系列行,并遍历每行中的每个单元格
for row in sheet.iter_rows(min_row=1, max_row=1, min_col=1, max_col=1):
for cell in row:
print(cell.value)
# 使用 iter_cols() 方法获取指定范围内的一系列列,并遍历每列中的每个单元格
for col in sheet.iter_cols(min_row=1, max_row=1, min_col=1, max_col=1):
for cell in col:
print(cell.value)
# rows 属性返回工作表中所有行的列表
for row in sheet.rows:
for cell in row:
print(cell.value)
# columns 属性返回工作表中所有列的列表
for col in sheet.columns:
for cell in col:
print(cell.value)
# 使用 iter_rows() 方法获取工作表中的所有行并返回每个单元格的值,values_only=True 参数可以跳过单元格的格式信息
for row in sheet.iter_rows(values_only=True):
for cell_value in row:
print(cell_value)
# 使用 iter_cols() 方法获取工作表中的所有列并返回每个单元格的值,values_only=True 参数可以跳过单元格的格式信息
for col in sheet.iter_cols(values_only=True):
for cell_value in col:
print(cell_value)
# 使用切片来获取指定范围内的单元格区域,并使用嵌套循环来遍历该区域内的每个单元格
for row in sheet['A1:E8']:
for cell in row:
print(cell.value)
使用openpyxl库读取Excel文件数据的更多相关文章
- 人生苦短_我用Python_openpyxl库读取Excel文件数据_008
上图为读取的目标文件--------------------------------------------------------------------------------- # coding ...
- 利用 pandas库读取excel表格数据
利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...
- 上传读取Excel文件数据
/// <summary> /// 上传读取Excel文件数据 /// 来自http://www.cnblogs.com/cielwater /// </summary> // ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- VC6.0读取Excel文件数据
啰嗦一下:本人所在公司从事碟式斯特林太阳能发电设备的研发与销售.单台设备图如下: 工作原理如下:整个设备大致可分为五个部分, 1.服务器,负责气象.发电等数据存取,电.网连接等处理: 2.气象站,通过 ...
- java读取excel文件数据导入mysql数据库
这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...
- php phpexcel 读取excel文件数据
public function readExcel(){ $allPath = '/home/examine\video/list.xls'; \think\Loader::import('exten ...
- php读取Excel文件数据
首先先下载 PHPExcel 脚本之家下载地址:https://www.jb51.net/codes/194070.html 然后把文件丢到php脚本同级目录里面 在php文件里面写下以下代码即可 & ...
- ASP.NET中上传并读取Excel文件数据
在CSDN中,经常有人问如何打开Excel数据库文件.本文通过一个简单的例子,实现读取Excel数据文件. 首先,创建一个Web应用程序项目,在Web页中添加一个DataGrid控件.一个文件控件和一 ...
- 使用poi读取Excel文件数据
package com.haiyisoft.iecp.util; import java.io.File;import java.io.FileInputStream;import java.io.F ...
随机推荐
- 结合ReentrantLock来看AQS的原理
AQS的定义 队列同步器 AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个 int 成员变量表示同步状态,通过内置的 F ...
- happens-before 原则
happens-before 简述 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型.JSR-133 使用 happens-before 的概念来阐述操作之间的内存可见性.在 JMM ...
- 王道oj/problem16
网址:http://oj.lgwenda.com/problem/16 思路:都在注释里,注意增删查的参数以及停止条件 代码: #define _CRT_SECURE_NO_WARNINGS#incl ...
- 青少年CTF平台-Web-POST&GET
题目描述 一星简单题,看我如何给你过了. 启动环境,等待三十秒先喝口水. 做题过程 访问题目地址,说让我们用GET方式提交一个名称为get且值为0的变量. 在URL后面加上?get=0,回车.已经成功 ...
- BUUCTF Reverse-[FlareOn6]Overlong-动态调试
没有什么问题,直接进 三个函数,字符串也没啥特殊的 应该是个加密 返回上面分析 数据很大,你忍一下 也就是说它会找28位加密 然后我们接着分析 这个提示刚好28位 也就是说28位对应这个框 如果我们修 ...
- Sparse-coding-based method in super resolution
Is sparse-coding-based method still important in super resolution? Yes, sparse-coding-based methods ...
- 【微信自动化】使用c#实现微信自动化
引言 上个月,在一个群里摸鱼划水空度日,看到了一个老哥分享的一个微信自动化的一个类库,便下载了他的Demo,其本意就是模拟鼠标来操作UI,实现UI自动化:然后自己在瞎琢磨研究,写了一个简单的例子,用来 ...
- java与es8实战之五:SpringBoot应用中操作es8(带安全检查:https、账号密码、API Key)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<java与es8实战>系 ...
- 搭建LNMP 架构
搭建LNMP 架构 环境准备 lnmp 需要 安装 nginx mysql php 软件 #关闭防火墙 systemctl disable --now firewalld #临时禁用SELinux的强 ...
- 如何将项目打包上传到NuGet服务器?
作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 前言 在我写[在.NET Framework中使用RocketMQ(阿里云版)]这篇博客的时候,因为封 ...