【Python】实战:生成无关联单选问卷 csv《社会参与评估表》

news2025/1/4 16:11:00

目录

一、适用场景

二、业务需求 

三、Python 文件 

(1)创建文件

(2)代码示例 

四、csv 文件 



一、适用场景

实战场景:

  • 问卷全部为单选题
  • 问卷问题全部为必填
  • 问题之间无关联关系
  • 每个问题的答案分数不同
  • 根据问卷全部问题得分生成总分数
  • 根据问卷总分数生成对应判断文案结果
  • 生成 csv 文件表格需要设置固定表头
  • 表格内容需要根据总分从小到大排列


二、业务需求 

社会参与评估表

1. 生活能力

□ 分

0 分,除个人生活自理(如进食、洗漱、穿脱衣物、二便等)外,能做家务(如做饭、洗衣等)或当家管理事务

1 分,除个人生活自理外,能做家务,但欠佳,家庭事务安排欠条理

2 分,个人生活能自理,需在他人帮助下才能做部分家务,但质量欠佳

3 分,个人基本生活事务能自理(如进食、二便等),在督促下可洗漱

4 分,个人基本生活事务(如进食、二便等)需部分帮助或完全依赖他人

2. 工作能力

□ 分

0 分,原来熟悉的脑力工作或体力技巧性工作可照常进行

1 分,原来熟悉的脑力工作或体力技巧性工作能力有所下降

2 分,原来熟悉的脑力工作或体力技巧性工作明显不如以往,部分遗忘

3 分,对熟练工作只有一些片段保留,技能全部遗忘

4 分,对以往的知识或技能全部磨灭

3. 社会交往能力

□ 分

0 分,参与社会,在社会环境有一定的适应能力,待人接物恰当

1 分,能适应单纯环境,主动接触人,初见面时难让人发现智力问题,不能理解隐喻语

2 分,脱离社会,可被动接触,不会主动待人,谈话中很多不适词句,容易上当受骗

3 分,勉强可与人交往,谈吐内容不清楚,表情不恰当

4 分,难以与人接触

社会参与总分

□ 分

上述 3 项得分之和

社会参与分级

□ 级

0 能力完好:总分 0-2 分

1 轻度受损:总分 3-5 分

2 中度受损:总分 6-8 分

3 重度受损:总分 9-12 分

社会参与分级标准

分级

分级名称

分级标准

0

能力完好

社会参与总分为 0-2 分

1

轻度受损

社会参与总分为 3-5 分

2

中度受损

社会参与总分为 6-8 分

3

重度受损

社会参与总分为 9-12 分



三、Python 文件 

(1)创建文件

SocialParticipationForm.py


(2)代码示例 

以下代码主要是生成社会参与评估表,包括评分标准、总分、分级标准等内容。

具体流程如下:

  1. 导入必要的模块:os、csv、itertools。
  2. 定义三个列表 Score_1、Score_2、Score_3,分别表示第1题、第2题、第3题的评分。
  3. 根据题目要求,给出题目描述、评分标准、总分、分级标准等内容。
  4. 配置 csv 文件表格基本参数:文件路径和文件名称、表头。
  5. 检查是否已存在该 csv 文件,如已存在则先删除。
  6. 生成 csv 文件,表格内容未排序。使用 itertools 库中的 product 函数,对三个评分列表进行排列组合,得到所有可能的评分组合。根据评分标准,计算出每个组合的总分和分级,将结果写入 csv 文件中。
  7. 将已存在的 csv 文件进行调整,按表格第 2 列从小到大排序内容。使用 csv 库中的 reader函数读取文件内容,使用 sorted 函数对除表头外的行进行排序,再使用 csv 库中的writerows 函数将排序后的结果写入文件中。
import os
import csv
from itertools import product

# 社会参与评估表
Score_1 = [0, 1, 2, 3, 4]
Score_2 = [0, 1, 2, 3, 4]
Score_3 = [0, 1, 2, 3, 4]

'''
[社会参与评估表问卷问题及答案(得分)]
-- Score_1:第 1 题评分
-- Score_2:第 2 题评分
-- Score_3:第 3 题评分

第 1 题:生活能力()
a.除个人生活自理(如进食、洗漱、穿脱衣物、二便等)外,能做家务(如做饭、洗衣等)或当家管理事务 
b.除个人生活自理外,能做家务,但欠佳,家庭事务安排欠条理
c.个人生活能自理,需在他人帮助下才能做部分家务,但质量欠佳
d.个人基本生活事务能自理(如进食、二便等),在督促下可洗漱
f.个人基本生活事务(如进食、二便等)需部分帮助或完全依赖他人
-- 评分标准
a.0 分
b.1 分  
c.2 分
d.3 分
f.4 分

第 2 题:工作能力()
a.原来熟悉的脑力工作或体力技巧性工作可照常进行 
b.原来熟悉的脑力工作或体力技巧性工作能力有所下降
c.原来熟悉的脑力工作或体力技巧性工作明显不如以往,部分遗忘
d.对熟练工作只有一些片段保留,技能全部遗忘
f.对以往的知识或技能全部磨灭
-- 评分标准
a.0 分
b.1 分  
c.2 分
d.3 分
f.4 分

第 3 题:社会交往能力()
a.参与社会,在社会环境有一定的适应能力,待人接物恰当
b.能适应单纯环境,主动接触人,初见面时难让人发现智力问题,不能理解隐喻语
c.脱离社会,可被动接触,不会主动待人,谈话中很多不适词句,容易上当受骗
d.勉强可与人交往,谈吐内容不清楚,表情不恰当
f.难以与人接触
-- 评分标准
a.0 分
b.1 分  
c.2 分
d.3 分
f.4 分
'''

'''
[社会参与总分]
-- 评分标准:以上 3 个问题评分之和
'''

'''
[社会参与分级标准]
-- 等级标准:根据社会参与总分分级
0 能力完好:总分 0 - 2 分
1 轻度受损:总分 3 - 5 分
2 中度受损:总分 6 - 8 分
3 重度受损:总分 9 - 12 分
'''

# 配置文件:配置csv文件表格基本参数
# 文件路径和文件名称
filename = r'E:\ScoreGradeForm\CSVFiles\社会参与评估表.csv'
# 表头
csvheader = ['社会参与分级', '社会参与总分', '问题 1 评分[生活能力]', '问题 2 评分[工作能力]', '问题 3 评分[社会交往能力]']

# 删除文件:检查是否已存在该csv文件,如已存在则先删除
if os.path.exists(filename):
    os.remove(filename)

# 新建文件:生成csv文件,表格内容未排序
with open(filename, 'a+', encoding='utf-8-sig', newline='') as csvfile_0:
    # 生成表头
    header = csvheader
    writer = csv.writer(csvfile_0)
    writer.writerow(header)
    # 生成表格内容
    for scoreGroup in product(Score_1, Score_2, Score_3):
        if 0 <= sum(scoreGroup) <= 2:
            grade = '能力完好'
        elif 3 <= sum(scoreGroup) <= 5:
            grade = '轻度受损'
        elif 6 <= sum(scoreGroup) <= 8:
            grade = '中度受损'
        elif 9 <= sum(scoreGroup) <= 12:
            grade = '重度受损'
        else:
            grade = '其他等级'
        writer.writerow([grade, sum(scoreGroup), scoreGroup[0], scoreGroup[1], scoreGroup[2]])

# 编辑文件:将已存在的csv文件进行调整,按表格第2列从小到大排序内容
with open(filename, 'r', encoding='utf-8-sig') as csvfile_1:
    rows = list(csv.reader(csvfile_1))
    rows[1:] = sorted(rows[1:], key=lambda x: int(x[1]))
    with open(filename, 'w', encoding='utf-8-sig', newline='') as csvfile_2:
        writer = csv.writer(csvfile_2)
        writer.writerows(rows)



四、csv 文件 

生成如下结果表格:

社会参与分级社会参与总分问题 1 评分[生活能力]问题 2 评分[工作能力]问题 3 评分[社会交往能力]
能力完好0000
能力完好1001
能力完好1010
能力完好1100
能力完好2002
能力完好2011
能力完好2020
能力完好2101
能力完好2110
能力完好2200
轻度受损3003
轻度受损3012
轻度受损3021
轻度受损3030
轻度受损3102
轻度受损3111
轻度受损3120
轻度受损3201
轻度受损3210
轻度受损3300
轻度受损4004
轻度受损4013
轻度受损4022
轻度受损4031
轻度受损4040
轻度受损4103
轻度受损4112
轻度受损4121
轻度受损4130
轻度受损4202
轻度受损4211
轻度受损4220
轻度受损4301
轻度受损4310
轻度受损4400
轻度受损5014
轻度受损5023
轻度受损5032
轻度受损5041
轻度受损5104
轻度受损5113
轻度受损5122
轻度受损5131
轻度受损5140
轻度受损5203
轻度受损5212
轻度受损5221
轻度受损5230
轻度受损5302
轻度受损5311
轻度受损5320
轻度受损5401
轻度受损5410
中度受损6024
中度受损6033
中度受损6042
中度受损6114
中度受损6123
中度受损6132
中度受损6141
中度受损6204
中度受损6213
中度受损6222
中度受损6231
中度受损6240
中度受损6303
中度受损6312
中度受损6321
中度受损6330
中度受损6402
中度受损6411
中度受损6420
中度受损7034
中度受损7043
中度受损7124
中度受损7133
中度受损7142
中度受损7214
中度受损7223
中度受损7232
中度受损7241
中度受损7304
中度受损7313
中度受损7322
中度受损7331
中度受损7340
中度受损7403
中度受损7412
中度受损7421
中度受损7430
中度受损8044
中度受损8134
中度受损8143
中度受损8224
中度受损8233
中度受损8242
中度受损8314
中度受损8323
中度受损8332
中度受损8341
中度受损8404
中度受损8413
中度受损8422
中度受损8431
中度受损8440
重度受损9144
重度受损9234
重度受损9243
重度受损9324
重度受损9333
重度受损9342
重度受损9414
重度受损9423
重度受损9432
重度受损9441
重度受损10244
重度受损10334
重度受损10343
重度受损10424
重度受损10433
重度受损10442
重度受损11344
重度受损11434
重度受损11443
重度受损12444

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

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

相关文章

论文阅读:DLME = Deep Local-flatness Manifold Embedding

Author: Zelin Zang, Siyuan Li, Di Wu and Stan Z Li. 1-4: Westlake University 摘要 流形学习&#xff08;ML, Manifold learning&#xff09;旨在从高维数据中识别低维结构和嵌入&#xff0c;然而我们发现现有工作在采样不足的现实数据集上效果不佳。一般的ML方法对数据结…

C++学习记录——이십 map和set

文章目录 1、setmultiset 2、map3、map::operator[] 1、set vector/list/deque等是序列式容器&#xff0c;map&#xff0c;set是关联式容器。序列式容器的特点就是数据线性存放&#xff0c;而关联式容器的数据并不是线性&#xff0c;数据之间有很强的关系。 它们的底层是平衡…

P1038 [NOIP2003 提高组] 神经网络

题目背景 人工神经网络&#xff08;Artificial Neural Network&#xff09;是一种新兴的具有自我学习能力的计算系统&#xff0c;在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向&#xff0c;兰兰同学在自学了一本神经网络的…

用PyCharm和Anaconda搭建强化学习环境

一些碎语&#xff1a;因为我之前没学习过python&#xff0c;所以搭建这个环境的周期差不多一周&#xff0c;最终搭好了这个又爱又恨的环境&#xff08;这个成语用的多少有点文化沙漠了&#xff09;&#xff0c;这里简单梳理一下搭建环境的完整步骤。 首先下载Anaconda 下载地址…

Java线程间通信方式(3)

前文了解了线程通信方式中的CountDownLatch&#xff0c; Condition&#xff0c;ReentrantLock以及CyclicBarrier&#xff0c;接下来我们继续了解其他的线程间通信方式。 Phaser Phaser是JDK1.7中引入的一种功能上和CycliBarrier和CountDownLatch相似的同步工具&#xff0c;相…

mapbox-gl 移动端(H5)位置共享交互

文章目录 前言逆地理编码&#xff1a;获取周边地点地理编码&#xff1a;查询位置大头针选位位置卡片 前言 分享最近写的一个小demo&#xff0c;功能类似微信小程序端的大头针位置共享功能&#xff0c;需要实现的主要功能包括位置查询、周边地点检索、位置定位等&#xff0c;数…

BUUCTF jarvisoj_level0

小白垃圾做题笔记而已&#xff0c;不建议阅读。。。 这道题感觉主要就是64位程序ebp8 题目中给出了shellcode 我们直接将返回地址覆盖就好。 在main函数中调用了vulnerable_function()函数。 vulnerable函数是一个漏洞函数&#xff1a;(存在缓溢出)&#xff0c;我们只需要将…

html-audio标签样式重写思路

搭配slider 组件 ,利用原生audio的属性和方法重写样式 写个样式.监听url变化 初始化绑定播放, 拖动进度条,拖动音量, 静音按钮等事件 const audioRef ref(null) // 绑定audio标签 const playProcess ref(0) // 进度条绑定的值 const volume ref(1) // 音量绑定的值 const …

C++ STL之vector容器

目录 一、vector容器的介绍 二、vector容器的使用 1.vector的构造函数 2.vector的赋值操作 3.vector的容量与大小 4.vector的插入和删除 5.vector的数据存取 6.vector的互换容器 7.算法模块在vector的应用 ①find算法(std) ②sort算法(std) 一、vector容器的介绍 引…

07 - 进程创建大盘点

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录 1. 进程创建回顾2. 再论进程创建2.1 思考2.2 vfork()深度分析2.3 vfork()要点分析2.4 fork()的现代优化2.5 编程实验&#xff1a;fork() &…

【安卓源码】Binder机制2 -- addService 流程

0、binder 进程间通信原理 一次完整的 Binder IPC 通信过程通常是这样&#xff1a; 首先 Binder 驱动在内核空间创建一个数据接收缓存区&#xff1b; 接着在内核空间开辟一块内核缓存区&#xff0c;建立内核缓存区和内核中数据接收缓存区之间的映射关系&#xff0c;以及内核中…

PHP入门【1】环境搭建

目录 一&#xff0c;安装appserv组合包 二&#xff0c;运行第一个php程序 一&#xff0c;安装appserv组合包 组合包&#xff1a;将apache&#xff0c;mysql&#xff0c;php等服务器软件和工具安装配置完成后打包处理 组合包大大提高了我们的效率&#xff0c;不需要为配置环境…

Linux服务器出现503 服务不可用错误怎么办?

​  HTTP 503 服务不可用错误代码表示网站暂时不可用。无论您是网站访问者还是管理员&#xff0c;503 页面都很麻烦。尽管该错误表明存在服务器端问题&#xff0c;但对于访问者和网络管理员来说&#xff0c;有一些可能的解决方案。本文将解释Linux服务器出现503 服务不可用错…

PowerShell Studio 2023 Crack

PowerShell Studio 2023 Crack SAPIEN Script Packager为MSI Builder添加了ARM64平台支持。 增加了对Microsoft PowerShell 7.2.11和7.3.4的支持。 WiX工具集已更新到3.14。 PowerShell Studio 2023 Crack是可用的功能最强大、功能最完整的PowerShell集成脚本环境(ISE)之一。更…

通达信VCP形态选股公式,憋了好几天才写出来

VCP形态的英文”Volatility Contraction Pattern”的缩写&#xff0c;意思是“波动收缩形态”。VCP形态是全美交易冠军马克米勒维尼的核心交易模式之一&#xff0c;在其著作《股票魔法师》中有详细介绍。 马克米勒维尼把VCP形态比喻为湿毛巾&#xff0c;拧过一次后仍含水&…

动态链接库的链接和运行

本文对动态链接库的链接和运行进行一个总结&#xff0c;为什么要分开说呢&#xff1f;因为链接通过生成可执行文件并不代表运行时能找到依赖的动态库。这与静态库是不一样的&#xff0c;因为静态库在编译完成后会库会编译到可执行程序中&#xff0c;但是动态链接库则不然&#…

最新研究:可审计的具有拜占庭鲁棒的联邦学习方案

本人新论文&#xff0c;可免费下载&#xff1a;https://download.csdn.net/download/liangyihuai/87727720 Y. Liang, Y. Li and B. -S. Shin, “Auditable Federated Learning With Byzantine Robustness,” in IEEE Transactions on Computational Social Systems, doi: 10.…

【Unity3D日常开发】Unity3D中实现UI擦除效果、刮刮卡功能

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 使用Unity3D实现UI的擦拭效果、刮刮卡功能的效果实现方式比较多…

Python基于Pytorch Transformer实现对iris鸢尾花的分类预测,分别使用CPU和GPU训练

1、鸢尾花数据iris.csv iris数据集是机器学习中一个经典的数据集&#xff0c;由英国统计学家Ronald Fisher在1936年收集整理而成。该数据集包含了3种不同品种的鸢尾花&#xff08;Iris Setosa&#xff0c;Iris Versicolour&#xff0c;Iris Virginica&#xff09;各50个样本&am…

BatchNormalization和LayerNormalization的理解、适用范围、PyTorch代码示例

文章目录 为什么要NormalizationBatchNormLayerNormtorch代码示例 学习神经网络归一化时&#xff0c;文章形形色色&#xff0c;但没找到适合小白通俗易懂且全面的。学习过后&#xff0c;特此记录。 为什么要Normalization 当输入数据量级极大或极小时&#xff0c;为保证输出数…