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

学生信息如下

姓名学号性别年龄身份证号码期末总成绩
张三HY1231181234567890098
李四HY1232185236417893295
王二HY1233172541362907887
小明HY1234188569741230176
小张HY1235175832146971085

文件名称: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 中运行的结果。


©著作权归作者所有:来自51CTO博客作者mob604756edd67c的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Linux磁盘空间释放问题
  2. Linux学习笔记总结(九十八)
  3. find和grep
  4. Think PHP框架清除运行时缓存(php文件目录递归删除)
  5. 无法访问此卷不包含可识别的文件系统 chkdsk无法修复. 不知道怎
  6. Linux中shell脚本使用
  7. 批量制作:疫情防控小区出入证
  8. 18个高效WPS表格技巧,值得收藏
  9. 第五周

随机推荐

  1. 使用file_put_contents()创建及向文档内
  2. 面向对象的程序设计语言是一种什么语言
  3. Dockerfile构建PHP镜像
  4. phpcms模板怎么安装
  5. 面向对象的方法是什么意思
  6. PHP多进程、信号量及孤儿进程和僵尸进程
  7. print不是函数
  8. 怎么搭建php开发环境配置
  9. Swoole自定义项目初始化事件处理的实现
  10. PHP怎么把JSON转换成数组?