【Python】实战:生成无关联单选问卷 csv《跌倒风险评估量表》

news2024/12/28 2:21:09

目录

一、适用场景

二、业务需求

三、Python 文件

(1)创建文件

(2)代码示例

四、csv 文件



一、适用场景

实战场景:

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


二、业务需求

Morse 跌倒风险评估量表

1. 曾有跌倒记录

□ 分

0 分:无

25 分:有

2. 多于一项医疗诊断

□ 分

0 分:无

15 分:有

3. 步行辅助器

□ 分

0 分:无/长期卧床/轮椅活动

15 分:步行辅助器具/步行需协助

30 分:依靠家具作支持

4. 药物注射

□ 分

0 分:无

20 分:有

5. 步态

□ 分

0 分:正常/长期卧床/轮椅

10 分:身体软弱

20 分:受损

备注:

长期卧床者 —— 不能自助活动,例如:四肢瘫痪、昏迷。

坐轮椅的长者如能自助由轮椅过椅或过床,“步态” 的评分便以他由轮椅过椅或过床的能力/步态来评定。

6. 精神状态

□ 分

0 分:了解自我能力

15 分:自我评估过高或忽略自我能力限制

跌倒风险总分

□ 分

上述 6 项得分之和

跌倒风险分级

□ 级

0 低风险:总分 <25 分

1 中度风险:总分 25-45 分

2 高风险:总分 >45 分

跌倒风险分级标准

分级

分级名称

分级标准

0

低风险

总分<25分

1

中风险

总分25-45分

2

高风险

总分>45分



三、Python 文件

(1)创建文件

MorseFallRiskForm.py

(2)代码示例

以下代码的作用是生成一个跌倒风险评估量表的 csv 文件,其中包括了 6 个问题的评分标准、跌倒风险总分和风险分级标准。具体实现过程如下:

1. 导入所需的模块:os、csv、itertools 的 product 函数。

2. 定义 6 个问题的评分标准,分别为 Score_1 - Score_6。

3. 定义跌倒风险总分和风险分级标准。

4. 配置 csv 文件表格基本参数,包括文件路径和文件名称、表头。

5. 检查是否已存在该 csv 文件,如已存在则先删除。

6. 生成 csv 文件,表格内容未排序。通过 itertools 中的 product 函数生成所有问题的评分组合,根据跌倒风险总分分级标准,将评分组合分为低、中、高三个风险等级,并将结果写入csv 文件中。

7. 将已存在的 csv 文件进行调整,按表格第 2 列从小到大排序内容。首先读取 csv 文件中的所有行,然后使用 sorted 函数按照第 2 列的数值大小进行排序,最后将排序后的结果写回到csv 文件中。

import os
import csv
from itertools import product

# 跌倒⻛险评估量表
Score_1 = [0, 25]
Score_2 = [0, 15]
Score_3 = [0, 15, 30]
Score_4 = [0, 20]
Score_5 = [0, 10, 20]
Score_6 = [0, 15]

'''
[跌倒⻛险评估量表问卷问题及答案(得分)]
-- Score_1:第 1 题评分
-- Score_2:第 2 题评分
-- Score_3:第 3 题评分
-- Score_4:第 4 题评分
-- Score_5:第 5 题评分
-- Score_6:第 6 题评分

第 1 题:曾有跌倒记录()
a.无  
b.有
-- 评分标准
a.0 分
b.25 分

第 2 题:多于一项医疗诊断()
a.无  
b.有
-- 评分标准
a.0 分
b.15 分

第 3 题:步行辅助器()
a.无/长期卧床/轮椅活动   
b.步行辅助器具/步行需协助   
c.依靠家具作支持
-- 评分标准
a.0 分
b.15 分  
c.30 分

第 4 题:药物注射()
a.无  
b.有
-- 评分标准
a.0 分
b.20 分

第 5 题:步态()
a.正常/长期卧床/轮椅
b.身体软弱
c.受损
-- 评分标准
a.0 分
b.10 分  
c.20 分
-- 备注
① 长期卧床者 —— 不能自助活动,例如:四肢瘫痪、昏迷。
② 坐轮椅的长者如能自助由轮椅过椅或过床,“步态” 的评分便以他由轮椅过椅或过床的能力/步态来评定。

第 6 题:精神状态()
a.了解自我能力  
b.自我评估过高或忽略自我能力限制
-- 评分标准
a.0 分
b.15 分
'''

'''
[跌倒风险总分]
-- 评分标准:以上 6 个问题评分之和
'''

'''
[跌倒风险分级标准]
-- 等级标准:根据跌倒风险总分分级
0 低风险:总分 <25 分
1 中风险:总分 25 - 45 分
2 高风险:总分 >45 分
'''

# 配置文件:配置csv文件表格基本参数
# 文件路径和文件名称
filename = r'E:\ScoreGradeForm\CSVFiles\跌倒风险评估量表.csv'
# 表头
csvheader = ['跌倒风险分级', '跌倒风险总分', '问题 1 评分[曾有跌倒记录]', '问题 2 评分[多于一项医疗诊断]',
             '问题 3 评分[步行辅助器]', '问题 4 评分[药物注射]', '问题 5 评分[步态]', '问题 6 评分[精神状态]']

# 删除文件:检查是否已存在该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, Score_4, Score_5, Score_6):
        if sum(scoreGroup) < 25:
            grade = '低风险'
        elif 25 <= sum(scoreGroup) <= 45:
            grade = '中风险'
        elif sum(scoreGroup) > 45:
            grade = '高风险'
        else:
            grade = '其他等级'
        writer.writerow([grade, sum(scoreGroup), scoreGroup[0], scoreGroup[1], scoreGroup[2], scoreGroup[3],
                         scoreGroup[4], scoreGroup[5]])

# 编辑文件:将已存在的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 评分[步行辅助器]问题 4 评分[药物注射]问题 5 评分[步态]问题 6 评分[精神状态]
低风险0000000
低风险100000100
低风险150000015
低风险150015000
低风险150150000
低风险200000200
低风险200002000
中风险2500001015
中风险2500150100
中风险2501500100
中风险252500000
中风险3000020100
中风险3000150015
中风险300030000
中风险3001500015
中风险3001515000
中风险3500002015
中风险3500020015
中风险3500150200
中风险3500152000
中风险3501500200
中风险3501502000
中风险3525000100
中风险4000020200
中风险40001501015
中风险4000300100
中风险40015001015
中风险40015150100
中风险4025000015
中风险4025015000
中风险4025150000
中风险45000201015
中风险45001520100
中风险4500300015
中风险45015020100
中风险45015150015
中风险4501530000
中风险4525000200
中风险4525002000
高风险50001502015
高风险50001520015
高风险5000300200
高风险5000302000
高风险50015002015
高风险50015020015
高风险50015150200
高风险50015152000
高风险50250001015
高风险50250150100
高风险50251500100
高风险55000202015
高风险55001520200
高风险55003001015
高风险55015020200
高风险550151501015
高风险55015300100
高风险55250020100
高风险55250150015
高风险5525030000
高风险55251500015
高风险55251515000
高风险600015201015
高风险60003020100
高风险600150201015
高风险600151520100
高风险60015300015
高风险60250002015
高风险60250020015
高风险60250150200
高风险60250152000
高风险60251500200
高风险60251502000
高风险65003002015
高风险65003020015
高风险650151502015
高风险650151520015
高风险65015300200
高风险65015302000
高风险65250020200
高风险652501501015
高风险65250300100
高风险652515001015
高风险652515150100
高风险700015202015
高风险70003020200
高风险700150202015
高风险700151520200
高风险700153001015
高风险702500201015
高风险702501520100
高风险70250300015
高风险702515020100
高风险702515150015
高风险70251530000
高风险750030201015
高风险7501515201015
高风险750153020100
高风险752501502015
高风险752501520015
高风险75250300200
高风险75250302000
高风险752515002015
高风险752515020015
高风险752515150200
高风险752515152000
高风险800153002015
高风险800153020015
高风险802500202015
高风险802501520200
高风险802503001015
高风险802515020200
高风险8025151501015
高风险802515300100
高风险850030202015
高风险8501515202015
高风险850153020200
高风险8525015201015
高风险852503020100
高风险8525150201015
高风险8525151520100
高风险852515300015
高风险9001530201015
高风险902503002015
高风险902503020015
高风险9025151502015
高风险9025151520015
高风险902515300200
高风险902515302000
高风险9525015202015
高风险952503020200
高风险9525150202015
高风险9525151520200
高风险9525153001015
高风险10001530202015
高风险10025030201015
高风险100251515201015
高风险10025153020100
高风险10525153002015
高风险10525153020015
高风险11025030202015
高风险110251515202015
高风险11025153020200
高风险115251530201015
高风险125251530202015

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

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

相关文章

亚马逊云科技CodeWhisperer正式可用,面向个人开发者免费开放

亚马逊云科技致力于推动生成式AI技术的普惠化&#xff1a;亚马逊云科技将这些技术从研究和实验领域释放出来&#xff0c;不只是少数初创公司和资金雄厚的大型科技公司&#xff0c;而是让更多公司都能从中受益。因此&#xff0c;亚马逊云科技宣布数项创新&#xff0c;帮助客户更…

STM32-HAL-usDelay

一、STM32单片机的延时 STM32单片机的延时&#xff0c;是指在程序中暂停一段时间&#xff0c;等待一定的时间后再继续执行下一条指令。常见的延时方式有循环延时和定时器延时。 毫秒延时的使用场景&#xff1a; 等待外设完成某项操作&#xff1a;在使用外设时&#xff0c;有…

【安全与风险】总结篇

总结篇 期望学习效果学习关键点安全基础一些术语安全策略CIA 密码学概论对称vs非对称对称密码:定义非对称密码学(公钥密码学)密钥生成加密解密技术反向使用:数字签名 基础计算资源安全访问控制列表读、写、执行权限位DoS攻击 恶意软件什么是恶意软件恶意软件的类型基于主机的恶…

SpringBoot中集成任务调度

文章目录 SpringBoot中集成任务调度1. 任务调度基本介绍2. corn表达式介绍2-1 corn的每一个位置功能介绍2-2 占位符说明2-3 常用cron举例 3. SpringBoot项目中&#xff0c;集成任务调度Scheduled3-1 添加SpringBoot启动依赖3-2 具体corn任务调度计划3-3 SpringBoot启动类添加注…

java如何实现深拷贝(IT枫斗者)

java如何实现深拷贝 Java浅拷贝 浅拷贝是按位拷贝对象&#xff0c;它会创建一个新对象&#xff0c;这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型&#xff0c;拷贝的就是基本类型的值&#xff1b;如果属性是内存地址&#xff08;引用类型&#xff09;&#…

2016湖南湘潭邀请赛b题思路

最近训练时写的比赛&#xff0c;当时b题没写&#xff0c;事后补一下&#xff0c;看了下题解&#xff0c;想写下自己的解释 原题解&#xff1a;2016湖南湘潭邀请赛题解&#xff1a;2016年“长城信息”杯中国大学生程序设计比赛中南地区邀请赛&#xff08;迟来的题解&#xff09…

Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略

作者&#xff1a;佑祎、吕风 背景 Koordinator 是一个开源项目&#xff0c;基于阿里巴巴在容器调度领域多年累积的经验孵化诞生&#xff0c;可以提升容器性能&#xff0c;降低集群资源成本。通过混部、资源画像、调度优化等技术能力&#xff0c;能够提高延迟敏感的工作负载和…

第3章:select

1.最基本的select语句 select … from…select 字段1&#xff0c;字段2&#xff0c;…from 表名* 表中所有字段&#xff08;列&#xff09; 2.列的别名 字段1 as 别名1字段1 别名1as&#xff1a;alias&#xff08;别名&#xff09;可以省略如果别名有空格使用一对””引起来…

应用于音箱领域中的音频功放IC型号推荐

音箱音频功放ic俗称“扩音机”又叫音频功率放大器IC&#xff1b;是各类音响器材中不可缺少的部分&#xff0c;其作用主要是将音源器材输入的较微弱信号进行放大后&#xff0c;产生足够大的电流去推动扬声器进行声音的重放。 现如今&#xff0c;音频功放芯片伴随着人工交互及智…

APS中零件工序间的移动方式解析

在加工装配的成批生产类型企业里&#xff0c;由于零件多种多样&#xff0c;工艺路线、加工方法和技术装备千差万别&#xff0c;因而&#xff0c;产品有多种流转方式。一般来说&#xff0c;零件在各道工序间的移动方式主要有顺序移动、平行移动和平行顺序&#xff08;平顺&#…

网络威胁情报:数据的力量

在一个日益互联和数字化的世界中&#xff0c;网络威胁已成为一项重大挑战&#xff0c;可能危及您组织的声誉、财务稳定性和整体运营效率。 事实上&#xff0c;根据 IBM 2022 年的一份报告&#xff0c;数据泄露的平均成本现在为 435 万美元。 鉴于网络威胁的重要性和影响日益突…

Spring《三》DI 依赖注入

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 上一篇&#xff1a;Spring《二》bean 的实例化与生命周期 下一篇&#xff1a;敬请期待 目录 一、setter 注入&#x1f349;1.注入引用数据类型2.注入简单数据类型 二、构造器注入&#x1f34a;1.注入引用数据类型2.…

吴恩达团队AI诊断心律失常研究:准确率超人类医生

2019年&#xff0c;吴恩达团队在AI医疗领域实现了一项革命性的突破&#xff0c;他们成功地让AI诊断心律失常&#xff0c;其准确率高达83.7%&#xff0c;超过了人类心脏病医生的78.0%。这项研究成果已经发表在了知名期刊Nature Medicine上。 一、如何让AI学会诊断心律失常&…

Linux多媒体子系统02:V4L2核心框架分析

1 V4L2框架结构概述 1.1 imx8视频输入通路硬件结构 软件框架是对硬件结构的映射与描述&#xff0c;所以在说明V4L2框架结构之前先说明一下硬件结构&#xff0c;此处以imx8视频输入通路为例&#xff08;下图中红框部分&#xff09; 1. MIPI-CSI2&#xff08;Camera Serial Int…

测试Ocr工具IronOCR(续:编写图片圈选程序)

上一篇文章学习了IronOCR的基本用法之后&#xff0c;计划做一个加载本地图片后&#xff0c;从图片中圈选某一位置的文字&#xff0c;然后调用IronOCR识别圈选区域文本的程序。本文实现从本地加载图片并完成圈选的功能。   主要的功能包括以下几点&#xff1a;   1&#xff…

提效降本应对无序竞争,采埃孚+东软睿驰的组合样本

降价与降本&#xff0c;就好似车企与供应商之间的“窗户纸”&#xff1b;如果是持续的无序竞争&#xff0c;势必一捅就破。而只有通过产业链的通力协作&#xff0c;才有机会维持一定的平衡。 多元化需求、车企降本、新车开发周期缩短等一系列因素&#xff0c;正在驱动智能化在中…

Spring Security实现JWT token验证

Spring Security实现JWT token验证 Spring Security是Spring提供的一个安全框架&#xff0c;提供认证和授权功能&#xff0c;最主要的是它提供了简单的使用方式&#xff0c;同时又有很高的灵活性&#xff0c;简单、灵活、强大 一般系统里关于角色方面通常有这么几张表&#xf…

【Dubbo核心 详解三】Dubbo服务接口的详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Dubbo专栏 文章目录 引言一、简介1. 介绍 Dubbo 服务接口的基本概念和特点1.1 Dubbo 服务接口的基础概念1.2 Dubbo 服务接口的特点2. 介绍 Dubbo 服务接口的…

机器学习——SVM的易错题型

问&#xff1a;支持向量机仅可以用于处理二分类任务 答&#xff1a;错误。支持向量机可以用于处理多分类任务&#xff0c;通过使用一对多或一对一的方法&#xff0c;将多个类别分别与其他类别做二分类。也可以使用多类支持向量机算法&#xff0c;直接将多个类别一起纳入训练和…

路侧激光雷达目标检测系统-篇1

说明&#xff1a;又到了毕业的季节&#xff0c;拿出来我之前做的小雷达识别项目&#xff0c;给学弟学妹们做毕设一点参考。这个主要是根据雷达采集的数据包进行聚类识别&#xff0c;看那些是汽车&#xff0c;更改数据的特征之后可以识别特定目标&#xff0c;比如路上新人等。  …