统计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格式保存,便于进一步的分析和处理。


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

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

相关推荐
Logic10110 小时前
表格智能记账3 销售与库存智能联动,自动标红库存预警
excel·条件格式·excel技巧·vlookup·sumif
技术小甜甜20 小时前
【Copilot】能选 Claude 和 GPT-6 了,Excel 分析该交给谁
gpt·excel·copilot·claude·microsoft365·gpt-6
小白今天也很酷2 天前
MCXN947更新板载DAP_Link固件的方法
c语言·python·单片机·ubuntu·excel·1024程序员节
ratel️3 天前
小墨析 · Office Agent 日常办公不烧心
python·langchain·word·excel·fastapi·js·ppt
Logic1013 天前
没有TextSplit函数的老版本也能拆分单元格的内容
excel·拆分数据·excel技巧·数据拆分·拆分单元格·textsplit·旧版excel
2601_967987373 天前
你们都用Python实现了哪些自动化办公?
python·excel·自动化办公·1024程序员节·学习资料·跨平台操作
城数派3 天前
1901-2025年中国省/市/县三级逐月平均气温数据Excel+Shp格式
excel
gtstore4 天前
从 Excel 迁移到仓库管理系统的数据准备与切换方案
excel·数据迁移·仓库管理系统·进销存·信息化实施
ms365copilot4 天前
我不再自己做 Word、Excel 和 PPT 了,我让 Copilot 直接帮我创建 (1)
word·powerpoint·excel·copilot
cspttty5 天前
2027采购岗求职:大数据管理与应用专业如何把Excel、SQL变成业务能力
excel