计算excel表格中小于60分的数量

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值