import pandas as pd
def is_contain_chinese(check_str):
#判断是否包含中文
for ch in check_str:
if u'\u4e00' <= ch <= u'\u9fff':
return True
return False
#读取数据
data = pd.read_excel('软件S21-1学生成绩单.xls')
#统计课程数及不及格课程数
k = 0 #课程总数
sad = 0 #不及格课程数
for n in data.values:
for i in n[3:-2]:
#选择从第3列到倒数第3列(即不含个人信息+最后总分数和平均分)
if not str(i)==' ':
#若选修课为空,不统计
k = k + 1
if is_contain_chinese(str(i)):
#若包含中文则区后两位
chinese_num = i[-2:]
if chinese_num == '00':
#当得分100分时
chinese_num = i[-3:]
if chinese_num == ':0' or chinese_num[-2] == ':':
#当得分等于0分或低于10分时
chinese_num = i[-1]
# print(chinese_num)
if (not is_contain_chinese(str(i)) and float(i) <60) or (is_contain_chinese(str(i)) and float(chinese_num)< 60):
#判断课程得分是否小于60
sad = sad +1
print(sad)
print(k)
print(sad/k*100)
计算excel表格中小于60分的数量
于 2023-09-01 00:40:52 首次发布