通过 Python 查询 Excel 数据

我有一个记录学生信息的 Excel 表格,我想通过学生的姓名或者学号查询学生的信息。

学生信息如下

姓名 学号 性别 年龄 身份证号码 期末总成绩
张三 HY1231 18 12345678900 98
李四 HY1232 18 52364178932 95
王二 HY1233 17 25413629078 87
小明 HY1234 18 85697412301 76
小张 HY1235 17 58321469710 85

文件名称:info.xlsx

该示例将使用到第三方的库,所以需要先使用 pip 安装第三方的库:

C:\Users\Administrator>pip install xlrdCollecting xlrd Downloading xlrd-1.2.0-py2.py3-none-any.whl (103 kB) |████████████████████████████████| 103 kB 43 kB/sInstalling collected packages: xlrdSuccessfully installed xlrd-1.2.0

代码如下:

import xlrd
file = "info.xlsx"name = input("Pleas enter name:")
workbook = xlrd.open_workbook(file)Table = workbook.sheet_by_name("Sheet1")# Table = workbook.sheet_by_index(0)
length = Table.nrowsfor i in range(length):    row = Table.row_values(i) if name in row[0]: print(row[0:6])

代码说明

import xlrd

导入第三方库,对于 Excel 的操作,我们需要使用到第三方的库,Python 中对于 Excel 的操作,主要用到两个模块,xlrd 和 xlwt,xlrd 用于读取 Excel 内容,xlwt 用于写入内容到 Excel 中。

file = "info.xlsx"name = input("Pleas enter name:")

为了方便,我们习惯将对象赋予给一个变量,方便以后使用。在以后使用时,只需要输入变量名就可以了。我这里的文件,只写了文件名,因为我把 Excel 文件,和 Python 文件放在同一个路径上了,如果你的 Excel 文件和 Python 不在同一个目录,你需要在赋值时加上具体的路径。

name,是你查询的对象,你将通过 name 查询 name 对应的信息。input() 用于接受用户的输入。

workbook = xlrd.open_workbook(file)Table = workbook.sheet_by_name("Sheet1")# Table = workbook.sheet_by_index(0)

使用 xlrd.open_workbook() 打开 Excel 文件,并将它赋值给 workbook.

使用 .sheet_by_name() 获取 Excel 文件中的表格内容,在括号中指定表格名称。一个 Excel 中可以有多个表格。表格名称在 Excel 文件的左下方。

你也可以使用 .sheet_by_index() 通过索引的方式获取表格内容

length = Table.nrowsfor i in range(length):    row = Table.row_values(i) if name in row[0]: print(row[0:6])

使用 .nrows 获取表格的行数,并赋值给 length,你也可以使用 .ncols 获取列的数量。

使用 for 循环每一行。

通过 if 判断,如果你输入的 name 在某一行中,那么就打印这一行的的内容。

遍历每一行的内容,会将每作为一个列表赋值给 row,所以判断的时候,使用了 row[0],0 表示 name 的索引。

然后我们通过对该列表切片,获取我们想要的内容,我们想要的是整个一行,所以使用了 row[0:6],其实这里也可以使用 print(row)。

这是该代码的结果:

"C:\Program Files\Python38\python.exe" C:/Test/Excel.pyPleas enter name:李四['李四', 'HY1232', '男', 18.0, 52364178932.0, 95.0]
Process finished with exit code 0

这是我在 PyCharm 中运行的结果。


上一篇:java使用POI实现excel文件的导入和导出(通用方法)


下一篇:jacob+wps文档转pdf 异常文件转换卡死处理