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

文章描述了一个使用Pythonpandas库读取Excel文件的脚本,统计不含个人信息的课程中不及格课程的数量,并计算不及格率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值