在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文件数据的更多相关文章

  1. 人生苦短_我用Python_openpyxl库读取Excel文件数据_008

    上图为读取的目标文件--------------------------------------------------------------------------------- # coding ...

  2. 利用 pandas库读取excel表格数据

    利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...

  3. 上传读取Excel文件数据

    /// <summary> /// 上传读取Excel文件数据 /// 来自http://www.cnblogs.com/cielwater /// </summary> // ...

  4. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  5. VC6.0读取Excel文件数据

    啰嗦一下:本人所在公司从事碟式斯特林太阳能发电设备的研发与销售.单台设备图如下: 工作原理如下:整个设备大致可分为五个部分, 1.服务器,负责气象.发电等数据存取,电.网连接等处理: 2.气象站,通过 ...

  6. java读取excel文件数据导入mysql数据库

    这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...

  7. php phpexcel 读取excel文件数据

    public function readExcel(){ $allPath = '/home/examine\video/list.xls'; \think\Loader::import('exten ...

  8. php读取Excel文件数据

    首先先下载 PHPExcel 脚本之家下载地址:https://www.jb51.net/codes/194070.html 然后把文件丢到php脚本同级目录里面 在php文件里面写下以下代码即可 & ...

  9. ASP.NET中上传并读取Excel文件数据

    在CSDN中,经常有人问如何打开Excel数据库文件.本文通过一个简单的例子,实现读取Excel数据文件. 首先,创建一个Web应用程序项目,在Web页中添加一个DataGrid控件.一个文件控件和一 ...

  10. 使用poi读取Excel文件数据

    package com.haiyisoft.iecp.util; import java.io.File;import java.io.FileInputStream;import java.io.F ...

随机推荐

  1. Argument data type text is invalid for argument 1 of replace function

    今天给webapi添加了搜索,结果数据库显示了这个错误, Argument data type text is invalid for argument 1 of replace function 查 ...

  2. 【持续更新】C++ 并不完全是 C 的超集!

    一些容易被忽略的 C 与 C++ 的不兼容特性 头文件和命名空间 C 标准库头文件名在 C++ 中通常去除扩展名,并加上 c 前缀,如: stdio.h -> cstdio stdlib.h - ...

  3. 学习LVM:archive 和 backup目录

    推荐文档:Logical Volume Manager Administration 在掌握了基本的commands操作后,你是否对操作背后的一些东西产生好奇呢? 程序的configure一般会提供这 ...

  4. KVM 动态调整 qcow2 硬盘

    动态扩容 参考:https://cloud-atlas.readthedocs.io/zh_CN/latest/kvm/kvm_vdisk_live.html 未关闭虚拟机,直接在宿主机器上qemu- ...

  5. 2021-8-5 Mysql个人练习题

    创建学校表格 CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_birt ...

  6. vulnhub billu:b0x

    知识点 SQLi.目录爆破.数据库操作.文件包含漏洞.提权.反弹shell 解题步骤 nmap扫描有80,22端口 nmap -sV -Pn -T 4 192.168.220.132 访问网页提示sq ...

  7. python: ImportError: cannot import name '_unicodefun' from 'click'

    报错 报错原因 click模块版本问题 解决方案 指定click版本为8.0.4 参考链接 https://github.com/psf/black/issues/2964

  8. mysql创建可以让Django链接的用户名

    输入以下命令: 1 grant all privileges on 库名.* to 账户名@'%' identified by 'password'; 2 flush privileges;

  9. 文心一言 VS 讯飞星火 VS chatgpt (70)-- 算法导论6.5 9题

    九.请设计一个时间复杂度为 (n lgk)的算法,它能够将 k 个有序链表合并为一个有序链表,这里 n 是所有输入链表包含的总的元素个数.(提示:使用最小堆来完成 k 路归并. 文心一言: 要设计一个 ...

  10. [python]爬取手机号码前缀和地区信息

    概述 使用python爬取手机号码前缀7位.区号和地区. 小网站不容易,对爬虫也挺友好,就不放链接了. 代码 import requests from lxml import etree from f ...