xlrd库的安装和应用

目录

前言

安装

注意

优点

通用知识

 函数方法

使用范例 

使用心得


前言

        xlrd库特别适合需要处理Excel文件中数据的任务.

        同时,需要注意的是,xlrd 主要用于读取Excel文件。如果需要写入Excel文件,可以结合其他库如 openpyxl或者xlsxwriter.

        

安装

xlrd1.2.0版本 适配Python >=2.7 (不包括3.0-3.3)或 Python >=3.4

xlrd2.0.1版本 适配Python >=2.7(不包括3.0-3.5) 或 Python >=3.6

# 安装指定版本1.2.0
# pip install xlrd==1.2.0  pip install xlrd

注意

        技术实现上的差异以及维护资源的问题

        xlrd1.2.0之后的版本(2020年之后)不支持xlsx文件.

   xlsx文件采用了Open XML标准,需要解析ZIP压缩包内的多个XML文件来获取数据,这相比     解析.xls文件更为复杂。

   旧版Excel文件(.xls)所使用的二进制BIFF存储格式完全不同。

        

        

优点

        xlrd 在处理小到中等大小的Excel文件时具有较好的性能表现,能够快速读取数据并进行处理。

通用知识

        

        Excel由工作簿、工作表、单元格和公式构成。

        清楚了Excel的文件构成,那么就知道xlrd库是围绕哪些对象进行操作.

  1. 工作簿(Workbook):一个Excel文件即为一个工作簿,可以包含多个工作表,通常以.xlsx为扩展名。

  2. 工作表(Worksheet):工作簿内的一个表格页面,用于存储数据和进行操作。

  3. 单元格(Cell):工作表由多个单元格组成,每个单元格有自己的地址,例如A1、B2等。

  4. 公式(Formula):用于对单元格中的数据进行计算和处理的表达式,以实现自动化计算功能。

 函数方法

  1. open_workbook(filename):打开指定的Excel文件。

  2. sheet_names():返回所有工作表的名称列表。

  3. sheet_by_index(index):根据索引获取指定的工作表。

  4. sheet_by_name(name):根据名称获取指定的工作表。

  5. nrows:获取工作表的行数。

  6. ncols:获取工作表的列数。

  7. row_values(rowx, start_colx=0, end_colx=None):获取指定行的值列表。

  8. col_values(colx, start_rowx=0, end_rowx=None):获取指定列的值列表。

  9. cell_value(rowx, colx):获取指定单元格的值。

  10. cell_type(rowx, colx):获取指定单元格的数据类型。

  11. merge_range(first_row, last_row, first_col, last_col, string):合并指定范围内的单元格并设置内容。

使用范例 

import xlrd
# 打开指定的Excel文件
workbook = xlrd.open_workbook(r'D:\dist\test.xls')# 获取工作簿中的所有工作表名称
sheet_names = workbook.sheet_names()
print("工作表名称列表:", sheet_names)
# 工作表名称列表: ['test01', 'test02', 'test03']# 选择第一个工作表
sheet = workbook.sheet_by_index(0)# 获取工作表的行数和列数
num_rows = sheet.nrows
num_cols = sheet.ncols
print("行数:", num_rows)
print("列数:", num_cols)
# 行数: 13
# 列数: 2# 逐行读取数据并打印
for row_index in range(num_rows):row_values = sheet.row_values(row_index)print("第", row_index + 1, "行数据:", row_values)# 逐列读取数据并打印
for col_index in range(num_cols):col_values = sheet.col_values(col_index)print("第", col_index + 1, "列数据:", col_values)

使用心得

最大的优点:

        易于上手:xlrd 的使用相对简单,文档详细,容易理解和操作。

缺点:

        只支持读取 需要其他库来实现数据写入EXCEL文件

        性能较低:对于大型 Excel 文件,xlrd 在读取和处理时可能会比较慢,效率不高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式学习36-TCP要点及http协议

TCP发送文件的粘包问题 1. 例: 发端 1.flv-------->收端 1.flv csfga 2.解决 1. sleep(1) 延时发送 2.自…

C++ 实战项目之 Boost 搜索引擎

项目地址:https://gitee.com/Vertas/boost-searcher-project 1. 项目背景 日常生活中我们使用过很多搜索引擎,比如百度,搜狗,360搜索等。我们今天是要实现一个像百度这样的搜索引擎嘛?那是不可能的,因为像…

2024年新版CMS内容管理使用,不用回退老版本 使用最新小程序云开发cms内容模型

一,问题描述 最近越来越多的同学找石头哥,说cms用不了,其实是小程序官方最近又搞大动作了,偷偷的升级的云开发cms(内容管理)以下都称cms,不升级不要紧,这一升级,就导致我…

【三维重建】VastGaussian:用于大场景重建的大3D Gaussian(CVPR 2024)

题目:VastGaussian: Vast 3D Gaussians for Large Scene Reconstruction 来源:清华大学;华为诺亚;中国科学院 链接:https://vastgaussian.github.io/ 总结:VastGaussian:基于3D GS的分块优化重…

7-18 彩虹瓶(Python)

彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工…

仿牛客项目Day02:http、调试、日志、git

http状态码 后端调试 f8:逐行执行 f7:进入语句内部 f9:执行到下一个断点 前端调试 f10:逐行调试 f11:进入语句内部 f8:执行到下一个断点 日志 按照级别开启日志 日志的测试类 比如把application里…

Java --- springcloud初始项目创建

目录 一、cloud项目创建 1.1、项目编码规范 1.2、注解生效激活 1.3、导入父工程maven的pom依赖 二、创建子工程并导入相关pom依赖 2.1、相关配置文件 2.1.1、数据库配置文件内容 2.1.2、自动生成文件配置内容 三、创建微服务8001子工程 3.1、导入相关pom依赖 3.…

数据结构从入门到精通——栈

栈 前言一、栈1.1栈的概念及结构1.2栈的实现1.3栈的面试题 二、栈的具体实现代码栈的初始化栈的销毁入栈出栈返回栈顶元素返回栈中的元素个数检测是否为空Stack.hStack.ctest.c 前言 栈,作为一种后进先出(LIFO)的数据结构,在计算…

NTFS Disk by Omi NTFS for mac v1.1.4中文版

NTFS Disk by Omi NTFS for Mac:NTFS文件系统的无缝桥梁 软件下载:NTFS Disk by Omi NTFS for mac v1.1.4中文版 🌐 跨平台访问,文件无阻 NTFS Disk by Omi NTFS for Mac 为您的Mac提供了对NTFS文件系统的无缝访问。无论您是在Win…

Unity插件之天气系统UniStorm

首先呢,它是一款强大的动态昼夜天气系统,能够以较快的帧速率创建AAA级动态生成的天气、照明和天空,并且具有300多个可定制的组件,允许用户创建任何可以想象的环境。 第一步:他需要两个物体Camera摄像机、Player播放器…

鸿蒙开发-UI-动画-页面内动画

鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 鸿蒙开发-UI-图形-绘制自定义图形 文章目录 前言 一、概述 二、页面内…

新一代信息技术下,AI如何重塑售前工作

近期,“新质生产力”一词犹如一颗璀璨的新星,频繁地在各大媒体平台上抢占热点位置,引发了大家的关注。关于“新质生产力”官方的解释是科技创新驱动经济高质量发展的必然产物,它代表着新一轮科技革命和产业变革的重要方向。 在今…

finishConnect(..) failed: Connection refused,服务本地正常服务器网关报400,nacos服务实例不能下线

①application里固定ip # Spring spring:cloud:inetutils:preferred-networks: 127.0.0.1 ②找到nacos服务下的protocol,删除下面所有,/nacos-server/data/protocol,删了不会有问题,而且这东西越用越大,删了好爽 ③重…

const XX=void0

在阅读源码中,经常会看到 const XXvoid0这里的 void 0其实就是 undefined,void 运算符总会返回一个 undefined 的结果。 那么,为什么要用 void 0 代替 undefined 呢? 总结: undefined 是一个「全局对象(…

iOS——【自动引用计数】ARC规则及实现

1.3.3所有权修饰符 所有权修饰符一共有四种: __strong 修饰符__weak 修饰符__undafe_unretained 修饰符__autoreleasing 修饰符 __strong修饰符 _strong修饰符表示对对象的强引用,持有强引用的变量在超出其作用域的时候会被废弃,随着强引…

数组连续和 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 给定一个含有N个正整数的数组,求出有多少连续区间(包括单个正整数),它们的和大于等于 x。 输入描述 第一行为两个…

Xcode升级到Xcode15.1或15.2之后,无法新建Category和Extension文件,如何解决?

项目场景: Xcode升级到15.1或15.2之后,无法新建Category和Extension文件,并且Xcode不报任何错误 问题描述 Xcode升级到15.1或15.2之后,无法新建Category和Extension文件,并且Xcode不报任何错误。 具体的操作步骤如下…

redis-集群 原生部署和工具自动部署

什么redis集群? redis集群是一个提供在多个redis节点之间共享数据的程序集。它并不像redis主从复制模式那样仅提供一个master节点来提供写服务,而是会提供多个master节点来提供写服务,每个master节点中存储的数据都不一样,这些数据…

【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)

微博爬虫记录 写这个主要是为了防止自己忘记以及之后的组内工作交接,至于代码美不美观,写的好不好,统统不考虑,我只能说,能跑就不错了,上学压根没学过python好吧,基本上是crtlc&ctrlv丝滑小…

开启AI绘画新纪元:让创意在指尖绽放

文章目录 一、了解AI绘画的基本原理二、选择合适的AI绘画工具三、掌握AI绘画的基本技巧四、借鉴与创新:从模仿到创作五、参与社区交流,共同成长《AI绘画教程:Midjourney使用方法与技巧从入门到精通》亮点推荐内容简介作者简介目录 在科技日新…