xlrd库的安装和应用

本文介绍了xlrd库在Python中处理Excel文件的关键特性,包括安装、适用版本、优点(如处理中小文件高效)、通用知识(如工作簿、工作表结构)以及函数方法。同时提到了xlrd不支持xlsx文件和对大型文件性能较低的局限性。
摘要由CSDN通过智能技术生成

前言

        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 在读取和处理时可能会比较慢,效率不高。

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Marst·Writer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值