Python Excel数据查找

今天突然被老师叫去帮她统计成绩,然后发现是一个大坑。为什么这么说呢:

因为她英语成绩竟然 分了20个excel文件来存。

我们要查找出数学50以上,并且英语90以上的人。这就很尴尬了,我们本来打算都打开来查,但是我的mac打开excel表格的速度实在不敢恭维。怎么办,一个一个查太慢了,有70个人呢。于是乎晚上搜索一下,决定快速写一个脚本来进行查询。

xlrd 使用介绍

1、导入模块

​ import xlrd

2、打开Excel文件读取数据

​ data = xlrd.open_workbook(‘excelFile.xls’)

3、使用技巧

获取一个工作表

​ table = data.sheets()[0] #通过索引顺序获取

​ table = data.sheet_by_index(0) #通过索引顺序获取

​ table = data.sheet_by_name(u’Sheet1’)#通过名称获取

* 获取整行和整列的值(数组)*

​ table.row_values(i)

​ table.col_values(i)

* 获取行数和列数*

​ nrows = table.nrows

​ ncols = table.ncols

循环行列表数据

for i in range(nrows ):

​ print table.row_values(i)

单元格

cell_A1 = table.cell(0,0).value

cell_C4 = table.cell(2,3).value

使用行列索引

cell_A1 = table.row(0)[0].value

cell_A2 = table.col(1)[0].value

简单的写入

row = 0

col = 0

# 类型 0 empty,1 string, 2 number, 3 date, 4 boo

### 如何使用 Python 和 Pandas 在 Excel 文件中查找数据 为了实现这一目标,可以利用 `pandas` 库中的功能来加载和操作 Excel 数据。下面提供了一个具体的实例,展示了如何从 Excel 表格中筛选特定条件的数据。 #### 导入必要的库 首先需要安装并导入所需的库: ```bash pip install pandas openpyxl ``` ```python import pandas as pd ``` #### 加载 Excel 文件到 DataFrame 中 接着指定要打开的 Excel 文件路径,并将其内容读取至一个名为 `dataframe` 的对象内: ```python file_path = './test.xlsx' dataframe = pd.read_excel(file_path, engine='openpyxl') ``` 此处使用的 `engine='openpyxl'` 参数指定了用于解析 Excel 文件的具体引擎[^1]。 #### 查找符合条件的数据项 假设想要找到所有名字为“小牛”的记录及其对应的语文成绩,则可以通过布尔索引来获取这些信息: ```python result = dataframe[dataframe['姓名'] == '小牛']['语文'] print(result) ``` 这段代码会返回一个新的 Series 对象,其中包含了满足上述条件的所有行以及它们在列 “语文” 下的成绩值[^2]。 如果希望进一步处理或分析所选数据,还可以继续对得到的结果集执行其他操作,比如统计平均分、最大最小值等。 #### 完整示例代码 以下是完整的代码片段,它实现了从给定的 Excel 文件中查找特定人员的相关课程分数的功能: ```python import pandas as pd # 设置文件路径 file_path = './test.xlsx' # 将Excel文档转换成DataFrame结构 dataframe = pd.read_excel(file_path, engine='openpyxl') # 找出名叫"小牛"的学生的语文成绩 specific_data = dataframe[dataframe['姓名'] == '小牛']['语文'] # 输出查询结果 print(specific_data) ``` 此方法不仅限于简单地匹配字符串;也可以应用于数值比较或其他更复杂的逻辑表达式,从而灵活应对不同的应用场景需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值