统计Excel文件中的答案选项和类别

功能

本脚本主要完成以下功能:

  • 读取指定的Excel文件。
  • 从Excel文件中提取问题和答案选项。
  • 统计每个问题的答案选项分布。
  • 按类别细分每个答案选项的计数。
  • 将统计结果输出到JSON文件。

使用方法

要使用该脚本,用户需要提供以下信息:

  • Excel文件的路径。
  • 期望输出的JSON文件的路径。

脚本将自动执行统计操作,并将结果保存到指定的JSON文件中。

示例代码

import pandas as pd
import jsondef count_answers_and_categories(file_path, output_json_file):# 读取Excel文件df = pd.read_excel(file_path, engine='openpyxl')# 获取问题列的列名questions = df.iloc[0, 3:-1].index.tolist()# 初始化一个字典来存储统计结果result = {}# 职务类别列表categories = ["类别一", "类别二", "类别三"]# 答案选项列表answers = ["选项A", "选项B", "选项C", "选项D", "选项E"]# 遍历每个问题for question in questions:# 初始化答案选项的计数和类别计数answer_counts = {answer: 0 for answer in answers}answer_category_counts = {answer: {category: 0 for category in categories} for answer in answers}# 遍历DataFrame的行(从第二行开始)for index, row in df.iloc[1:].iterrows():answer_option = row[question]category_option = row[1]# 确保答案选项和类别都在列表中if answer_option in answers and category_option in categories:answer_counts[answer_option] += 1answer_category_counts[answer_option][category_option] += 1# 将统计结果添加到结果字典中result[question] = {'answer_counts': answer_counts,'answer_category_counts': answer_category_counts}# 保存结果到JSON文件with open(output_json_file, 'w', encoding="utf-8") as json_file:json.dump(result, json_file, ensure_ascii=False, indent=4)# 示例文件路径
file_path = './example.xlsx'
output_json_file = './example_answers_and_categories.json'# 调用函数
count_answers_and_categories(file_path, output_json_file)

JSON输出示例

输出的JSON文件将包含每个问题的统计信息,例如:

{"问题1": {"answer_counts": {"选项A": 10,"选项B": 15,"选项C": 5,"选项D": 2,"选项E": 0},"answer_category_counts": {"选项A": {"类别一": 3,"类别二": 4,"类别三": 3},"选项B": {"类别一": 5,"类别二": 7,"类别三": 3},// ... 更多答案选项和类别计数}},// ... 更多问题的统计信息
}

结论

通过这个脚本,我们可以快速地从Excel文件中提取和统计答案选项及职务类别的分布情况,并将结果以JSON格式保存,便于进一步的分析和处理。


上述代码和文档中的文件路径和问题列表是示例性的,需要根据实际情况进行调整。在运行脚本之前,请确保您的环境中已安装了 pandasopenpyxl 库。

水平有限,有问题随时交流;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「媒体宣传」科技IT行业有哪些媒体邀约资源-51媒体网

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 科技IT行业的媒体邀约资源非常丰富,包括了各种类型的传统媒体和新兴的网络媒体平台。以下是一些主要的媒体邀约资源: 除此之外,还有一些其他科技类网络…

算法 第34天 贪心3

1005 K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能…

zookeeper 常见面试题和答案

zookeeper 使用场景 1.分配式配置中心,如kafka 元数据等等,注册中心 2.分布式协调服务,比如可以通过watch 机制来协调各个节点的行为 3.分布式锁/队列,可以实现分布式的数据结构 zookeeper 实现分布式锁 1.两种方案 zookeeper…

Failed to start docker.service: Unit is not loaded properly: Invalid argument.

Failed to start docker.service: Unit is not loaded properly: Invalid argument. 未知原因:docker服务无法正常load 解决方式: 卸载docker, 删除docker.service 重新安装docker Docker是一种相对使用较简单的容器,我们可以通过…

【QT+QGIS跨平台编译】063:【qca-softstore+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、qca-softstore介绍二、QCA下载三、文件分析四、pro文件五、编译实践5.1 windows下编译5.2 linux下编译5.3 macos下编译一、qca-softstore介绍 QCA-Softstore 是一个软件证书存储插件,它是为 QCA 框架设计的。这个插件提供了一个简单的持久化证书…

SpringCloud Alibaba Sentinel 规则持久化

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第十七篇,即使用 Sentinel 实现规则持久化。 二、概述 从前面我们做的实验可知,…

循环双链表算法库构建

学习贺老师数据结构数据结构之自建算法库——循环双链表_数据结构编写一个程序linklist.cpp-CSDN博客 模仿单链表逻辑,实现双链表, 大差不差 v1.0: 实现基本功能 V1.0 1.主要功能: //(1)头插法建立循环双链表 void Create_Double_CyclicList_Head(DoubleLinkList_Cyclic *&am…

相机标定——四个坐标系介绍

世界坐标系(Xw,Yw,Zw) 世界坐标系是一个用于描述和定位三维空间中物体位置的坐标系,通常反映真实世界下物体的位置和方向。它是一个惯性坐标系,被用作整个场景或系统的参考框架。在很多情况下,世界坐标系被认为是固定不变的,即它…

51单片机之串口通信

目录 1.串口简介 1.1TXD和RXD 1.2通讯接口 1.3通信方式 1.4 51单片机的UART模式 2.串口配置 2.1寄存器简介 SCON寄存器配置 PCON配置 2.2代码配置串口 2.2.1 配置串口发送数据 2.2.2配置电脑向单片机发送数据点亮LED 1.串口简介 串口是一个应用十分广泛的通讯接口&am…

对接穿山甲激励视频广告,收益如何?

激励视频广告一直是广告平台探索的重要广告类型,在激励任务达成或者激励视频退出时,为用户新增广告任务。“激励视频”广告满足部分用户多看广告获得更多奖励心理的需求的同时,提升了开发者广告曝光机会。进而提升了广告变现效率。#APP广告变…

复习知识点整理

零碎语法 1.导入某个文件夹的index文件,index可以省略(这里导入的是router和store文件下的index.js文件) 2.路由懒加载 this 1.在vue文件中使用router\store对象时 this:普通函数的this指向vue实例对象(在没有明确指向的时候…

C#实践作业1(类、接口、委托)

题目: 使用 C# 编码(涉及类、接口、委托等关键知识点),实现对周黑鸭工厂的产品生产统一管理,主要产品包括鸭脖和鸭翅。武汉工厂能生生产鸭脖和鸭翅,南京工厂只能生产鸭翅,长沙工厂只能生产鸭脖。…

上位机软件与美国罗克韦尔AB PLC无线以太网通讯测试

在实际系统中,同一个车间里分布多台PLC,通过上位机集中控制。通常所有设备距离在几十米到上百米不等。在有通讯需求的时候,如果布线的话,工程量较大耽误工期,这种情况下比较适合采用无线通信方式。本方案以组态王和2台…

在渲染项目instant-ngp使用代码(run.py)实现的补充说明

0 引言 最近,在做一个项目中有需要使用渲染接口,需要使用代码来实现。详细的步骤在文章instant-ngp中run.py的使用_/instant-ngp/./scripts/run.py", line 25, in https://blog.csdn.net/fengbingchun/article/details/129770444?ops_request_misc…

【C++】继承总结

一、前言 我们众所周知的C三大特性分别为:封装、继承、多态。 封装就是将接口实现统一化,隐藏那些不同的地方,在上层函数调用体现的方式一样,如各种容器的迭代器iterator,尽管底层实现的方式不同,但是在使用…

【JVM性能调优】- GC调优实操思路

1、GC调优实操思路 前面几点所提及的都是GC调优的一些方法论以及衡量指标,但在真正需要处理GC调优时,上面几点只能给你提供辅导,并不能建立完善的调优思路,因此,接下来再一同论述GC调优的具体实操思想。 GC调优时&…

加固系统安全,防范ssh暴力破解

文章链接 加固系统安全,防范ssh暴力破解 保护实例的开源工具 – Fail2Ban

AI技术创业机会之AI基础设施与开发工具

AI基础设施与开发工具作为支撑AI技术发展与应用的关键领域,孕育着众多创业机遇。以下详述了AI基础设施与开发工具背景下AI技术的创业机会及其具体细节与内容,深入探讨各细分领域,为有志于投身这一领域的创业者提供全面、深入的商业洞察与方向…

PPOCRv3在ncnn端部署

文章目录 前言一、paddle -> pth -> pt二、pt -> pnnx -> ncnn三、ncnn模型部署参考文档 前言 之前尝试使用paddle -> onnx -> ncnn的方案,遇到了转ncnn过程中,某些层不支持的问题,经过修改ncnn模型参数,可实现…

springboot+websocket+微信小程序实现评论区功能

springbootwebsocket微信小程序实现评论区功能 WebSocketSTOMP协议具体实现1.在pom文件中添加Spring WebSocket依赖2. 创建WebSocket配置类3.接收发送消息4.前端 参考 WebSocket 1. 什么是WebSocket? WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双…