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

功能

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

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

使用方法

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

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

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

示例代码

python 复制代码
import pandas as pd
import json

def 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] += 1
                answer_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文件将包含每个问题的统计信息,例如:

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 库。

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

相关推荐
我不是彭于晏丶17 小时前
蓝桥杯 Excel地址
职场和发展·蓝桥杯·excel
剪刀石头布啊1 天前
exceljs导入导出excel
前端·excel
梨轻巧2 天前
excel 数据透视表的创建、快速更新、格式修改
excel
冱洇2 天前
171. Excel 表列序号
算法·leetcode·excel
wtsolutions2 天前
Excel-to-JSON v2.0.0发布,可以在Excel内部,把Excel表格转换成JSON,嵌套的JSON也能转
json·excel·转换·excel-to-json
老胖闲聊3 天前
Python在实际工作中的运用-提取Pdf文件内容
python·pdf·excel
FoggyProgrammer3 天前
利用python实现对Excel文件中数据元组的自定义排序
python·excel·自动化办公·openpyxl·数据报表即时处理
专注VB编程开发20年4 天前
EXCEL页脚如何插入表格或者图片
excel·页脚·excel打印
好奇的菜鸟4 天前
使用 Apache POI 实现 Excel 单元格合并
apache·excel
liangblog4 天前
在Spring Boot项目中导出复杂对象到Excel文件
spring boot·后端·excel