xlrd库的安装和应用

news/2024/7/21 4:30:35 标签: python, excel

目录

前言

安装

注意

优点

通用知识

 函数方法

使用范例 

使用心得


前言

        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):合并指定范围内的单元格并设置内容。

使用范例 

python">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.niftyadmin.cn/n/5414706.html

相关文章

Python web框架fastapi中间件的使用,CORS跨域详解

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属专栏:Fastapi 景天的主页:景天科技苑 文章目录 fastapi中间件与CORS1、中间件1.创建中间件方法2.中间件里面添加响应头…

力扣大厂热门面试算法题 6-8

6. Z 字形变换,7. 整数反转,8. 字符串转换整数 (atoi),每题做详细思路梳理,配套Python&Java双语代码, 2024.03.08 可通过leetcode所有测试用例。 目录 6. Z 字形变换 解题思路 边界条件 完整代码 Python Ja…

文本统计分析 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 有一个文件, 包含以一定规则写作的文本, 请统计文件中包含的文本数量 规则如下 文本以";“分隔,最后一条可以没有”;",但空文…

[数据集][实例分割]小麦病害分割数据集899张12类别

数据集格式:labelmeyolo格式(不包含mask文件,仅仅包含jpg图片和对应的json文件以及对应yolo格式txt文件) 图片数量(jpg文件个数):899 标注数量(json文件个数):899 标注数量(txt文件个数):899 标注类别数:12…

【Qt】四种绘图设备详细使用

绘图设备有4个: **绘图设备是指继承QPainterDevice的子类————**QPixmap QImage QPicture QBitmap(黑白图片) QBitmap——父类QPixmapQPixmap图片类,主要用来显示,它针对于显示器显示做了特殊优化,依赖于平台的,只能在主线程…

Leetcode : 面试题 10.01. 合并排序的数组

思路&#xff1a;设定两个指针ptrA和ptrB&#xff0c;遍历两个数组比较&#xff0c;对A数组进行修改&#xff1b; A.insert添加&#xff0c;最后进行A.erase删除多余元素&#xff0c;提醒&#xff0c;数组长度提前记录一下&#xff0c;方便后续删除 #include <iostream>…

想开发苹果群控软件?先了解这些代码!

随着智能设备的普及&#xff0c;群控软件的需求日益增加&#xff0c;特别是针对苹果设备的群控软件&#xff0c;因其出色的性能和广泛的用户基础&#xff0c;受到了开发者们的青睐。 然而&#xff0c;开发一款功能强大的苹果群控软件并非易事&#xff0c;需要深入了解苹果的开…

“你真的了解 JavaScript 类型检测吗?深入探讨 typeof、instanceof“

前言 在JavaScript的世界里&#xff0c;了解变量的类型是编程中的基本需求。JavaScript提供了两个操作符&#xff1a;typeof和instanceof&#xff0c;用于类型检测&#xff0c;但它们各有特点和适用场景。让我们通过一篇文章来深入探讨这两个操作符的用法和它们之间的区别。 …