Python办公自动化:使用 `xlrd` 读取Excel文档

在日常的办公自动化中,处理Excel文件是非常常见的任务。Python提供了许多库来帮助我们操作Excel文件,其中xlrd是一个经典的选择,虽然近年来xlrd对读取Excel文件的支持有所变化,但它仍然是一个非常有用的工具。下面我们将通过一个实际的Excel文件示例,讲解如何使用xlrd读取文档内容的步骤、一些关键的函数或属性。

一、安装 xlrd

在使用xlrd之前,首先需要安装这个库。可以使用以下命令安装:

pip install xlrd==1.2.0

注意:xlrd 1.2.0版本及以下支持.xls和.xlsx格式的文件,从2.0.0版本开始只支持.xls格式的文件。因此,如果需要处理.xlsx格式的文件,建议使用1.2.0版本。

二、导入 xlrd 并打开Excel文件

我们将首先导入xlrd库,并使用它打开一个Excel文件。假设我们已经有一个名为“巴黎奥运会奖牌榜.xlsx”的文件。

在这里插入图片描述

import xlrd

# 打开Excel文件
file_path = '/mnt/data/巴黎奥运会奖牌榜.xlsx'
workbook = xlrd.open_workbook(file_path)

xlrd.open_workbook()函数用于打开一个Excel文件,并返回一个Book对象,这个对象代表整个Excel文件。

三、选择工作表

一个Excel文件中可以包含多个工作表,我们需要先选择要读取的工作表。可以通过以下两种方式来选择:

  1. 按名称选择工作表
sheet = workbook.sheet_by_name('Sheet1')  # 假设工作表名称为Sheet1
  1. 按索引选择工作表
sheet = workbook.sheet_by_index(0)  # 选择第一个工作表
四、读取单元格内容

选择工作表后,我们可以读取单元格中的内容。读取内容的关键函数有以下几个:

  • sheet.cell(rowx, colx):返回指定单元格的内容,返回的对象是Cell对象,可以使用value属性来获取实际数据。
cell_value = sheet.cell(0, 0).value  # 读取第1行第1列的内容
  • sheet.row_values(rowx):返回指定行的所有单元格的值。
row_values = sheet.row_values(0)  # 读取第1行的所有内容
  • sheet.col_values(colx):返回指定列的所有单元格的值。
col_values = sheet.col_values(0)  # 读取第1列的所有内容
五、获取工作表的基本信息

在读取数据前,通常我们需要了解一些工作表的基本信息,例如行数和列数:

  • sheet.nrows:返回工作表的总行数。
total_rows = sheet.nrows
  • sheet.ncols:返回工作表的总列数。
total_cols = sheet.ncols
六、遍历工作表内容

通过遍历工作表的行或列,我们可以批量读取数据:

# 遍历所有行
for row_index in range(sheet.nrows):
    row = sheet.row_values(row_index)
    print(f"第{row_index + 1}行: {row}")

# 遍历所有列
for col_index in range(sheet.ncols):
    col = sheet.col_values(col_index)
    print(f"第{col_index + 1}列: {col}")
七、完整代码示例

以下是一个完整的代码示例,展示了如何使用xlrd读取并打印Excel文件的内容:

import xlrd

# 打开Excel文件
file_path = '/mnt/data/巴黎奥运会奖牌榜.xlsx'
workbook = xlrd.open_workbook(file_path)

# 选择工作表
sheet = workbook.sheet_by_index(0)  # 选择第一个工作表

# 打印工作表的基本信息
print(f"总行数: {sheet.nrows}")
print(f"总列数: {sheet.ncols}")

# 打印所有行的内容
for row_index in range(sheet.nrows):
    row = sheet.row_values(row_index)
    print(f"第{row_index + 1}行: {row}")

通过以上步骤,您可以使用xlrd轻松地读取Excel文件的内容。xlrd库对于处理Excel文件中的数据非常方便,尤其是当您需要从多个工作表中提取数据或进行批量处理时。不过要注意,xlrd的新版本已经不再支持.xlsx格式的文件,因此在使用时需要选择合适的版本。或者选择使用其它库,如 openpyxl进行读取操作.

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值