Python打开.xls文件 xlrd
介绍
在日常工作和学习中,我们经常需要处理各种类型的数据文件。其中,Excel文件是一种常见的数据文件类型,而.xls格式是旧版本的Excel文件格式,它使用了二进制的方式存储数据。
Python作为一种强大的程序设计语言,提供了很多开源库来处理Excel文件。其中,xlrd是Python中一个非常流行的库,它可以读取.xls文件,并提供了丰富的功能,使我们能够处理这些文件中的数据。
本文将详细介绍如何使用xlrd库来打开.xls文件,并展示了一些常见的用法。
安装
在开始之前,我们需要先安装xlrd库。在命令行中执行如下命令即可安装:
pip install xlrd
打开.xls文件
首先,我们需要导入xlrd库:
import xlrd
然后,使用xlrd库的open_workbook()
函数来打开一个.xls文件。这个函数接受一个文件路径作为参数,并返回一个工作簿对象:
workbook = xlrd.open_workbook('example.xls')
在上述代码中,我们打开了名为example.xls
的文件,并将返回的工作簿对象赋值给了workbook
变量。
获取工作表
一旦我们打开了一个.xls文件,我们就可以通过工作簿对象来获取其中的工作表。首先,我们可以使用sheet_names()
函数获取工作簿中所有工作表的名称列表:
sheet_names = workbook.sheet_names()
上述代码将返回一个包含所有工作表名称的列表。
如果我们知道要获取的工作表的名称,我们可以使用sheet_by_name()
函数来获取指定名称的工作表对象:
sheet = workbook.sheet_by_name('Sheet1')
上述代码将返回一个名为Sheet1
的工作表对象。
另外,我们也可以使用sheet_by_index()
函数来通过索引获取工作表对象。索引从0开始,依次递增:
sheet = workbook.sheet_by_index(0)
上述代码将返回第一个工作表对象。
读取数据
一旦我们获取了工作表对象,我们就可以开始读取其中的数据了。我们可以使用nrows
属性来获取工作表中的行数,使用ncols
属性来获取列数:
num_rows = sheet.nrows
num_cols = sheet.ncols
上述代码将分别返回工作表中的行数和列数。
然后,我们可以使用row_values()
函数来获取指定行的数据。行索引从0开始,依次递增:
row_data = sheet.row_values(0)
上述代码将返回第一行的数据。
同样地,我们也可以使用col_values()
函数来获取指定列的数据。列索引从0开始,依次递增:
col_data = sheet.col_values(0)
上述代码将返回第一列的数据。
除了上述的读取方式之外,我们还可以使用cell()
函数来获取指定单元格的数据。单元格的行列索引都是从0开始的:
cell_data = sheet.cell(0, 0).value
上述代码将返回第一个单元格的数据。
示例
下面是一个完整的示例,展示了如何使用xlrd库来打开一个.xls文件,并读取其中的数据:
import xlrd
# 打开.xls文件
workbook = xlrd.open_workbook('example.xls')
# 获取工作表
sheet = workbook.sheet_by_name('Sheet1')
# 读取数据
num_rows = sheet.nrows
num_cols = sheet.ncols
for i in range(num_rows):
row_data = sheet.row_values(i)
print(f'第 {i + 1} 行的数据:{row_data}')
for j in range(num_cols):
col_data = sheet.col_values(j)
print(f'第 {j + 1} 列的数据:{col_data}')
cell_data = sheet.cell(0, 0).value
print(f'第一个单元格的数据:{cell_data}')
运行结果
当执行上述示例代码时,将输出如下结果:
第 1 行的数据:[1.0, 2.0, 3.0, 4.0, 5.0]
第 2 行的数据:[6.0, 7.0, 8.0, 9.0, 10.0]
第 3 行的数据:[11.0, 12.0, 13.0, 14.0, 15.0]
第 4 行的数据:[16.0, 17.0, 18.0, 19.0, 20.0]
第 5 行的数据:[21.0, 22.0, 23.0, 24.0, 25.0]
第 1 列的数据:[1.0, 6.0, 11.0, 16.0, 21.0]
第 2 列的数据:[2.0, 7.0, 12.0, 17.0, 22.0]
第 3 列的数据:[3.0, 8.0, 13.0, 18.0, 23.0]
第 4 列的数据:[4.0, 9.0, 14.0, 19.0, 24.0]
第 5 列的数据:[5.0, 10.0, 15.0, 20.0, 25.0]
第一个单元格的数据:1.0
以上结果展示了示例代码中读取的.xls文件中的数据。你可以根据自己的需求进行修改和扩展,以适应不同的数据文件。
总结
本文介绍了如何使用xlrd库来打开.xls文件,并读取其中的数据。通过xlrd库,我们可以方便地处理.xls文件,获取其中的行、列和单元格数据。