Python之Excel操作 - 读取数据

news/2025/2/3 6:29:06 标签: python, excel, linux

我们将使用 openpyxl 库,它是一个功能强大且易于使用的库,专门用于处理 Excel 文件。

1. 安装 openpyxl

首先,你需要安装 openpyxl 库。你可以使用 pip 命令进行安装:

pip install openpyxl
2. 读取 Excel 文件

要读取 Excel 文件,可以使用 openpyxl.load_workbook() 函数。该函数会返回一个 Workbook 对象,代表整个 Excel 文件。

python">import openpyxl

excel = openpyxl.load_workbook("example.xlsx")

print(type(excel))

sheet1 = excel['Sheet1']
print(type(sheet1))

print(sheet1['B1'].value)

for row in sheet1.iter_rows(min_row=2, values_only= True):
    print(row)
    print(type(row))

for row in range(2, sheet1.max_row+1):
    name = sheet1['A'+str(row)].value
    value = sheet1['B'+str(row)].value
    print(name)
    print(value)

取出各个单元格中的值 就可以进行其他操作了。
使用如下方法可以查看是否是空行:

python">for row in sheet.iter_rows(values_only=True):
    if any(cell is not None for cell in row):  # 过滤空行
        print(row)

解释:

  1. 上面row 的类型是<class ‘tuple’>,
  2. 使用 is not 是因为 None 是一个单例对象,is 比较的是对象的身份(内存地址),而 == 比较的是值。
  3. any:any() 是 Python 的内置函数,接受一个可迭代对象(如生成器表达式)作为参数。
    如果可迭代对象中至少有一个元素为 True,则 any() 返回 True;否则返回 False
    cell is not None for cell in row 会生成一个布尔值序列:(False, False, True, False)。
    any(False, False, True, False) 返回 True,因为至少有一个 True。

http://www.niftyadmin.cn/n/5840553.html

相关文章

每日一个小题

import pygame import random # 初始化 Pygame pygame.init() # 屏幕大小 screen_width 300 screen_height 600 block_size 30 # 颜色定义 colors [ (0, 0, 0), (255, 0, 0), (0, 150, 0), (0, 0, 255), (255, 120, 0), (255, 255, 0), (180, 0, 255), (0, 220, 220)…

用BGP的路由聚合功能聚合大陆路由,效果显著不?

正文共&#xff1a;666 字 11 图&#xff0c;预估阅读时间&#xff1a;1 分钟 之前我们统计过中国境内的IP地址和路由信息&#xff08;你知道中国大陆一共有多少IPv4地址吗&#xff1f;&#xff09;&#xff0c;不过数量比较多&#xff0c;有8000多条。截止到2021年底&#xff…

【算法】回溯算法专题② ——组合型回溯 + 剪枝 python

目录 前置知识进入正题小试牛刀实战演练总结 前置知识 【算法】回溯算法专题① ——子集型回溯 python 进入正题 组合https://leetcode.cn/problems/combinations/submissions/596357179/ 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以…

RocketMQ中的NameServer主要数据结构

1.前言 NameServer是RocketMQ中的一个比较重要的组件&#xff0c;我们这篇博客针对NameSever中包含的组件进行分析&#xff0c;分析一下NameServer中包含的组件以及组件的作用。以前我有一篇博客中rocketMq源码分析之搭建本地环境-CSDN博客&#xff0c;在这篇博客中就简单看了…

【C语言设计模式学习笔记1】面向接口编程/简单工厂模式/多态

面向接口编程可以提供更高级的抽象&#xff0c;实现的时候&#xff0c;外部不需要知道内部的具体实现&#xff0c;最简单的是使用简单工厂模式来进行实现&#xff0c;比如一个Sensor具有多种表示形式&#xff0c;这时候可以在给Sensor结构体添加一个enum类型的type&#xff0c;…

【go语言】grpc 快速入门

一、什么是 grpc 和 protobuf 1.1 grpc gRPC 是由 Google 开发的一个高效、开源的远程过程调用&#xff08;RPC&#xff09;框架&#xff0c;用于在分布式系统中进行通信。它是基于 HTTP/2 协议&#xff0c;支持多种语言&#xff0c;能够让不同的系统或应用程序&#xff08;即…

【大数据技术】案例01:词频统计样例(hadoop+mapreduce+yarn)

词频统计(hadoop+mapreduce+yarn) 搭建完全分布式高可用大数据集群(VMware+CentOS+FinalShell) 搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn) 在阅读本文前,请确保已经阅读过以上两篇文章,成功搭建了Hadoop+MapReduce+Yarn的大数据集群环境。 写在前面 Wo…

【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(二)

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;贪心算法篇–CSDN博客 文章目录 前言例题1.买卖股票的最佳时机2.买卖股票的最佳时机23.k次取…