推广 热搜: 采购方式  甲带  滤芯  气动隔膜泵  减速机型号  减速机  履带  带式称重给煤机  链式给煤机  无级变速机 

减少工作量!2种素质报告单数据收集方法

   日期:2026-01-26 20:29:01     来源:网络整理    作者:本站编辑    评论:0    
减少工作量!2种素质报告单数据收集方法

期末临近,各位老师又要着手准备学生素质报告单了。其实等所有数据收集完毕后,只需通过邮件合并就能快速生成每位学生的素质报告单,但数据收集环节往往最耗费精力 —— 不仅需要和多位教师沟通对接,收集完成后还要逐一整合大家填写的信息,这些琐碎的工作才是真正增加工作量的 “痛点”。

今天就给大家分享两种高效收集所需信息的方法,帮你大幅减少手动操作的工作量:

方法一:纯多维表格收集

这种方式的不足在于,需要先将学校所有班级、学生姓名等基础信息完整录入表格,老师们再按预设好的格式填写对应数据。如果老师们熟悉表格筛选等操作,使用起来基本无压力;但对于不熟悉的老师来说,操作会显得繁琐。此外,若表格包含 60 多个字段,逐一设置字段隐藏、显示等权限也需要花费不少时间。不过它的优势也很明显:所有数据汇总后,你只需直接下载总表即可使用,无需额外做数据合并的操作。

方法二:多维表格 + 脚本辅助

这种方法的唯一门槛是需要掌握基础的 Python 知识(当然相关代码也可以借助 AI 生成,关键在于你是否会灵活使用)。但优势十分突出:无需提前在表格中录入所有班级和学生信息,每位教师只需填写自己负责的学生数据即可,且无法查看其他教师填写的内容,既降低了教师的填写门槛,也保障了数据的私密性,对填写的老师们来说更友好。

总结

  1. 纯多维表格法:无需后期合并数据,但需提前录入基础信息,对不熟悉表格操作的教师不够友好;
  2. 多维表格 + 脚本法:对教师更友好、数据更私密,仅需掌握基础 Python(或借助 AI 生成代码)即可实现。
方法一:纯多维表格收集
对其他的表进行重复操作。
方法二:多维表格 + 脚本辅助
这里的学生姓名改成姓名
然后重复导入,分享。老师填的数据互相是看不见,改不了的。
等教师数据填写好之后,导出数据。
把所有的文件下载过来之后,放到同一个文件夹下。
执行下面脚本
import pandas as pdimport osdef merge_excel_files(folder_path, output_file="merged_result.xlsx"):    """    合并多个Excel文件,按班级+姓名合并相同行的数据    Args:        folder_path: 存放Excel文件的文件夹路径        output_file: 合并后的输出文件名    """    # 存储所有读取的数据    all_data = []    # 获取文件夹中所有xlsx文件    excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx'and not f.startswith('~$')]    if not excel_files:        print("未找到任何Excel文件!")        return    # 逐个读取Excel文件    for file in excel_files:        file_path = os.path.join(folder_path, file)        try:            # 读取Excel文件(默认读取第一个工作表)            df = pd.read_excel(file_path)            # 检查是否包含必要的列            if '班级' not in df.columns or '姓名' not in df.columns:                print(f"警告:文件 {file} 缺少班级或姓名列,已跳过")                continue            # 添加源文件名列(可选,用于追踪数据来源)            df['源文件'] = file            all_data.append(df)            print(f"成功读取:{file},共{len(df)}行数据")        except Exception as e:            print(f"读取文件 {file} 出错:{str(e)}")            continue    if not all_data:        print("没有可合并的有效数据!")        return    # 逐步合并所有DataFrame(按班级和姓名外连接)    merged_df = all_data[0]    for df in all_data[1:]:        merged_df = pd.merge(            merged_df,             df,             on=['班级''姓名'],             how='outer',  # 外连接保留所有行            suffixes=('''_drop')  # 重复列添加后缀        )        # 删除重复的列(合并时产生的_drop列)        merged_df = merged_df.loc[:, ~merged_df.columns.str.endswith('_drop')]    # 重置索引并填充空值(可选,根据需求调整)    merged_df = merged_df.reset_index(drop=True)    merged_df = merged_df.fillna('')  # 空值替换为空字符串    # 保存合并后的文件    merged_df.to_excel(output_file, index=False)    print(f"\n合并完成!结果已保存至:{output_file}")    print(f"合并后数据总行数:{len(merged_df)}")    print(f"合并后总列数:{len(merged_df.columns)}")    print(f"所有列名:{list(merged_df.columns)}")# ------------------- 使用示例 -------------------if __name__ == "__main__":    # 替换为你的Excel文件所在文件夹路径    folder_path = "C:\\Users\周国峰\Desktop\新建文件夹 (16)\数据"  # 这边的文字替换成你的文件夹    # 调用合并函数    merge_excel_files(folder_path, "合并结果.xlsx")
合并后效果
 
打赏
 
更多>同类资讯
0相关评论

推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  皖ICP备20008326号-18
Powered By DESTOON