目标:在exl中找到班级,且将成绩进行输出
# -*- coding:utf-8 -*-
import openpyxl
from openpyxl import load_workbook
wb = load_workbook(filename='./1.xlsx') # 表格所在位置,这里示例是在项目根目录下,是个名为“1.xlsx”的表格。仅支持.xlsx格式。
ws = wb.worksheets[1]
max_row = ws.max_row
max_col = ws.max_column
def value_by_col(value, col):
"""
:param value: 查询的值,需要与对应单元格数据类型一致。如查整数用int,文本用str,小数用flote
:param col: 要查询的列号,从1开始,A对应1,B对应2,依次类推
:return: NULL
"""
# 针对指定列查询
re = False
for row in range(max_row):#遍历所有列
use_cell = ws.cell(row + 1, col)
if value == use_cell.value:
#print("已找到,在%s单元格" % use_cell.coordinate)
re = True
clas=ws.cell(row=row+1,column=5).value #后面的col是确定的
names=ws.cell(row=row+1,column=2).value
scores=ws.cell(row=row+1,column=6).value
print(clas, names, scores)
dengji=int(scores)
if dengji==95:
print('优秀')
elif dengji==85:
print('良好')
elif dengji==65:
print('及格')
elif dengji==0:
print('重修不及格')
else:
print(dengji)
print('\n')
# with open('1.txt','a+') as w:
# w.write(clas+names+scores)
# w.close()
if re:
pass
else:
print("未找到符合的单元格")
if __name__ == "__main__":
# 根据需要调用对应的函数
i=0
while i<20:
i=i+1
value_by_col(input("请输入班级名字,例如:英语2201:"), 5) # 在第5列,且班级为英语2201