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

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

相关推荐
qq_546937279 小时前
excel乱码修复
excel
小兔崽子去哪了12 小时前
EasyExcel 使用
java·excel
学Java的bb15 小时前
苍穹外卖-工作台实现、Apache POI、导出Excel报表
excel
Roye_ack1 天前
【项目实战 Day12】springboot + vue 苍穹外卖系统(Apache POI + 工作台模块 + Excel表格导出 完结)
java·spring boot·后端·excel·苍穹外卖
IccBoY2 天前
Java采用easyexcel组件进行excel表格单元格的自动合并
java·开发语言·excel
风车带走过往2 天前
Excel 常用功能自救手册:遇到问题快速排查指南 (个人备忘版)
excel
跟着珅聪学java2 天前
EasyExcel 读取 Excel 文件指南
excel
芭拉拉小魔仙2 天前
Vue项目中如何实现表格选中数据的 Excel 导出
前端·vue.js·excel
RE-19012 天前
Excel基础知识 - 导图笔记
数据分析·学习笔记·excel·思维导图·基础知识·函数应用
Love__Tay2 天前
【数据分析与可视化】2025年一季度金融业主要行业资产、负债、权益结构与增速对比
金融·excel·pandas·matplotlib