实现Khan Academy成绩导出到Canvas并按日期分组统计学生作业得分
按学生+截止日期分组统计作业得分的实现方案
方案1:Python+pandas自动化处理(适合批量处理多文件/定期重复统计场景)
前置准备
- 安装pandas依赖:终端执行命令
pip install pandas - 确认Khan Academy导出的CSV包含必填字段:
学生、截止日期、作业得分(Khan默认单条作业记录对应单个作业的得分,单作业满分多为5分,你示例中2个作业总分为10分即对应该规则)
代码示例
import pandas as pd # 读取CSV文件,替换为你本地的文件路径 df = pd.read_csv("khan_export.csv") # 可选:统一日期格式,避免同一天因格式差异被识别为不同分组 df["截止日期"] = pd.to_datetime(df["截止日期"]).dt.strftime("%m/%d/%y") # 按学生、截止日期分组,对作业得分求和 stat_result = df.groupby(["学生", "截止日期"], as_index=False)["作业得分"].sum() # 打印结果,也可以导出为新CSV print(stat_result) # stat_result.to_csv("学生每日作业总分.csv", index=False, encoding="utf_8_sig")
示例输出
用你提供的样本数据运行后,输出结果如下:
| 学生 | 截止日期 | 作业得分 |
|---|---|---|
| Student1 | 01/01/21 | 10 |
| Student2 | 01/01/02 | 5 |
| Student2 | 01/01/21 | 5 |
注意事项
- 如果导出的是英文版本CSV,把代码里的中文字段名替换为对应英文即可,常见对应字段为
Student(学生)、Due Date(截止日期)、Score(作业得分) - 如需统计其他维度,比如当日完成作业数量,把
sum()改为count()即可
方案2:Excel数据透视表(无需代码,适合单次统计场景)
操作步骤:
- 用Excel打开导出的CSV文件,全选所有数据
- 点击顶部「插入」选项卡,选择「数据透视表」
- 在右侧字段面板中调整配置:
- 行区域:依次拖入「学生」、「截止日期」字段
- 值区域:拖入「作业得分」字段,值汇总方式设置为「求和」
- 调整透视表显示格式即可得到所需统计结果
内容的提问来源于stack exchange,提问作者maurice gibson
相关产品推荐
相关产品推荐

