【Python】实战:生成无关联单选问卷 csv《压疮风险评估表》
目录
一、适用场景
二、业务需求
三、Python 文件
(1)创建文件
(2)代码示例
四、csv 文件
一、适用场景
实战场景:
- 问卷全部为单选题
- 问卷问题全部为必填
- 问题之间无关联关系
- 每个问题的答案分数不同
- 根据问卷全部问题得分生成总分数
- 根据问卷总分数生成对应判断文案结果
- 生成 csv 文件表格需要设置固定表头
- 表格内容需要根据总分从小到大排列
二、业务需求
压疮风险评估表 - Braden
| 危险因素/分数 | 1 分 | 2 分 | 3 分 | 4 分 | 评分 |
| 1. 感官感觉:对不适的压力具有反应的能力 | 完全受损,对疼痛刺激无反应(没有呻吟、退缩,或握手动作),这是由于意识水平下降及全身表面对疼痛感觉能力下降。 | 大部份受限,仅对疼痛刺激有反应,除了呻吟和烦躁不安, 不能表达不适;或有感官障碍,身体一半以上感觉疼痛或不适的能力受限制。 | 轻度受限,对口头指令有反应,但常常不能表达不适或翻身的需要,或由于感觉受损,而对疼痛的反应能力受限,或只在一两个肢体感不适。 | 无受损害,对口头指令有反应,没有感觉受损而使活动受限或有不适感。 | |
| 2. 潮湿情况:皮肤的潮湿程度 | 持续潮湿,由于出汗或小便,皮肤总是处于潮湿状态( 这状态且在每次移动或翻身时发现)。 | 常常潮湿, 皮肤经常潮湿,床单至 少每班(早、午、晚)更 换一次。 | 偶尔潮湿,皮肤偶尔潮湿,床单需要每天额外换一次。 | 几乎不潮湿, 皮肤经常保持干燥,仅在常规时间需要更换床单。 | |
| 3. 活动情况:身体活动程度 | 卧床,不能下床。 | 局限于轮椅,活动行走严重受限或无法站立,不能承受身体重量或必须依赖轮椅。 | 偶尔行走, 每日行走短距离时需要或不需要帮助。 | 经常行走, 每日户外行走至少两次和室内行走至少两小时一次。 | |
| 4. 移动情况:变换和控制体位的能力 | 完全不能,如果没有协助的话,身体或四肢不作任何甚至微小的位置改变。 | 严重受限,作很微小的身体或肢体位置的改变,但不能经常或独立地作明显的移动。 | 轻度受限,能经常独立地作微小的四肢或身体移动。 | 不受限,不需要协助就能完成较大的和经常的体位改变。 | |
| 5. 摩擦力 | 有问题需要中等到最大的协助才能移动,且以滑行方式移动。身体经常移位,需要最大帮助才能恢复体位。痉挛、挛缩或烦躁导致不断的摩擦。 | 潜在问题 移动无力或需少许帮助。移动时皮肤可能会因而跟床单、椅子等摩擦。坐着或躺卧时,较长时间可维持良好的体位,但偶尔也滑下。 | 无明显问题 在床上或椅子上可以独立移动,并具有足够的肌力完全抬举身体来移动。所有的时间在床上或椅子上能保持良好的体位。 | ||
| 6. 营养情况 | 非常差,每餐进食少于1 / 3份量。液体进入量少或禁食或进行静脉输入多于5日。 | 可能营养不足,每餐进食约1 / 2份量 (每日给与3份量的蛋白质作计算单位,间中会进食营养补充)。 | 适当,每餐进食多于1 / 2份量,每日进食4份量的蛋白质(包括肉、奶类产品)。(进食以管饲为主) | 良好,每餐进食整份餐份量,有足够蛋白质提供,应须额外营养补充剂,而两餐间有进食小食。 | |
| 压疮风险总分 | □ 分 | ||||
| 压疮风险分级 | □ 级 | 0 低风险:16 分或以上 1 中风险:12-15 分 2 高风险:少于 12 分 | |||
压疮风险分级标准
| 分级 | 分级名称 | 分级标准 |
| 0 | 低风险 | 总分 16 分及以上 |
| 1 | 中风险 | 总分 12-15 分 |
| 2 | 高风险 | 少于 12 分 |
三、Python 文件
(1)创建文件
PerceptualCommunicateForm.py
(2)代码示例
- 以下代码是用来生成压疮风险评估表的所有可能性分数组合,并且根据分数组合来判断风险等级。
- 导入必要的模块:os、csv、product(笛卡尔积生成器),用于生成多个序列的笛卡尔积。
- 定义 6 个列表,分别存储 6 个问题的评分选项。
- 对 6 个问题的评分选项进行详细描述,以及每个选项对应的评分标准。
- 配置 CSV 文件的基本参数:文件路径和文件名、表头。
- 检查是否已存在该 CSV 文件,如已存在则先删除。
- 接下来,使用 for 循环遍历所有可能的分数组合,计算分数总和,并根据总分来判断风险等级。如果总分大于等于 16,则为低风险;如果总分在 12 到 15 之间,则为中风险;如果总分小于 12,则为高风险。
- 生成 CSV 文件,表格内容未排序。根据 6 个问题的评分选项,生成笛卡尔积,并计算出总分和风险等级,将结果写入CSV文件。其中,使用了 with open 语句来打开文件,并使用 newline='' '' 参数来避免写入 csv 文件时出现空行的问题。
- 编辑已存在的 CSV 文件,按表格第 2 列从小到大排序内容。
- 最后,关闭文件。
import os
import csv
from itertools import product# 压疮风险评估表-Braden
Score_1 = [1, 2, 3, 4]
Score_2 = [1, 2, 3, 4]
Score_3 = [1, 2, 3, 4]
Score_4 = [1, 2, 3, 4]
Score_5 = [1, 2, 3]
Score_6 = [1, 2, 3, 4]'''
[压疮风险评估表问卷问题及答案(得分)]
-- Score_1:第 1 题评分
-- Score_2:第 2 题评分
-- Score_3:第 3 题评分
-- Score_4:第 4 题评分
-- Score_5:第 5 题评分
-- Score_6:第 6 题评分第 1 题:[感官感觉]对不适的压力具有反应的能力()
a.完全受损,对疼痛刺激无反应(没有呻吟、退缩,或握手动作),这是由于意识水平下降及全身表面对疼痛感觉能力下降。
b.大部份受限,仅对疼痛刺激有反应,除了呻吟和烦躁不安,不能表达不适;或有感官障碍,身体一半以上感觉疼痛或不适的能力受限制。
c.轻度受限,对口头指令有反应,但常常不能表达不适或翻身的需要,或由于感觉受损,而对疼痛的反应能力受限,或只在一两个肢体感不适。
d.无受损害,对口头指令有反应,没有感觉受损而使活动受限或有不适感。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 2 题:[潮湿情况]皮肤的潮湿程度()
a.持续潮湿,由于出汗或小便,皮肤总是处于潮湿状态( 这状态且在每次移动或翻身时发现)。
b.常常潮湿,皮肤经常潮湿,床单至少每班(早、午、晚)更换一次。
c.偶尔潮湿,皮肤偶尔潮湿,床单需要每天额外换一次。
d.几乎不潮湿,皮肤经常保持干燥,仅在常规时间需要更换床单。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 3 题:[活动情况]身体活动程度()
a.卧床,不能下床。
b.局限于轮椅,活动行走严重受限或无法站立,不能承受身体重量或必须依赖轮椅。
c.偶尔行走,每日行走短距离时需要或不需要帮助。
d.经常行走,每日户外行走至少两次和室内行走至少两小时一次。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 4 题:[移动情况]变换和控制体位的能力()
a.完全不能,如果没有协助的话,身体或四肢不作任何甚至微小的位置改变。
b.严重受限,作很微小的身体或肢体位置的改变,但不能经常或独立地作明显的移动。
c.轻度受限,能经常独立地作微小的四肢或身体移动。
d.不受限,不需要协助就能完成较大的和经常的体位改变。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 5 题:[摩擦力]()
a.有问题,需要中等到最大的协助才能移动,且以滑行方式移动。身体经常移位,需要最大帮助才能恢复体位。痉挛、挛缩或烦躁导致不断的摩擦。
b.潜在问题,移动无力或需少许帮助。移动时皮肤可能会因而跟床单、椅子等摩擦。坐着或躺卧时,较长时间可维持良好的体位,但偶尔也滑下。
c.无明显问题,在床上或椅子上可以独立移动,并具有足够的肌力完全抬举身体来移动。所有的时间在床上或椅子上能保持良好的体位。
-- 评分标准
a.1 分
b.2 分
c.3 分第 6 题:[营养情况]()
a.非常差,每餐进食少于1/3份量。液体进入量少或禁食或进行静脉输入多于5日。
b.可能营养不足,每餐进食约1/2份量(每日给与3份量的蛋白质作计算单位,间中会进食营养补充)。
c.适当,每餐进食多于1/2份量,每日进食4份量的蛋白质(包括肉、奶类产品)。(进食以管饲为主)
d.良好,每餐进食整份餐份量,有足够蛋白质提供,应须额外营养补充剂,而两餐间有进食小食。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分
''''''
[压疮风险总分]
-- 评分标准:以上 6 个问题评分之和
''''''
[压疮风险分级标准]
-- 等级标准:根据压疮风险总分分级
0 低风险:16 分及以上
1 中风险:12-15 分
2 高风险:少于 12 分
'''# 配置文件:配置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 = csvheaderwriter = 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) >= 16:grade = '低风险'elif 12 <= sum(scoreGroup) <= 15:grade = '中风险'elif sum(scoreGroup) < 12: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 评分[营养情况] |
| 高风险 | 6 | 1 | 1 | 1 | 1 | 1 | 1 |
| 高风险 | 7 | 1 | 1 | 1 | 1 | 1 | 2 |
| 高风险 | 7 | 1 | 1 | 1 | 1 | 2 | 1 |
| 高风险 | 7 | 1 | 1 | 1 | 2 | 1 | 1 |
| 高风险 | 7 | 1 | 1 | 2 | 1 | 1 | 1 |
| 高风险 | 7 | 1 | 2 | 1 | 1 | 1 | 1 |
| 高风险 | 7 | 2 | 1 | 1 | 1 | 1 | 1 |
| 高风险 | 8 | 1 | 1 | 1 | 1 | 1 | 3 |
| 高风险 | 8 | 1 | 1 | 1 | 1 | 2 | 2 |
| 高风险 | 8 | 1 | 1 | 1 | 1 | 3 | 1 |
| 高风险 | 8 | 1 | 1 | 1 | 2 | 1 | 2 |
| 高风险 | 8 | 1 | 1 | 1 | 2 | 2 | 1 |
| 高风险 | 8 | 1 | 1 | 1 | 3 | 1 | 1 |
| 高风险 | 8 | 1 | 1 | 2 | 1 | 1 | 2 |
| 高风险 | 8 | 1 | 1 | 2 | 1 | 2 | 1 |
| 高风险 | 8 | 1 | 1 | 2 | 2 | 1 | 1 |
| 高风险 | 8 | 1 | 1 | 3 | 1 | 1 | 1 |
| 高风险 | 8 | 1 | 2 | 1 | 1 | 1 | 2 |
| 高风险 | 8 | 1 | 2 | 1 | 1 | 2 | 1 |
| 高风险 | 8 | 1 | 2 | 1 | 2 | 1 | 1 |
| 高风险 | 8 | 1 | 2 | 2 | 1 | 1 | 1 |
| 高风险 | 8 | 1 | 3 | 1 | 1 | 1 | 1 |
| 高风险 | 8 | 2 | 1 | 1 | 1 | 1 | 2 |
| 高风险 | 8 | 2 | 1 | 1 | 1 | 2 | 1 |
| 高风险 | 8 | 2 | 1 | 1 | 2 | 1 | 1 |
| 高风险 | 8 | 2 | 1 | 2 | 1 | 1 | 1 |
| 高风险 | 8 | 2 | 2 | 1 | 1 | 1 | 1 |
| 高风险 | 8 | 3 | 1 | 1 | 1 | 1 | 1 |
| 高风险 | 9 | 1 | 1 | 1 | 1 | 1 | 4 |
| 高风险 | 9 | 1 | 1 | 1 | 1 | 2 | 3 |
| 高风险 | 9 | 1 | 1 | 1 | 1 | 3 | 2 |
| 高风险 | 9 | 1 | 1 | 1 | 2 | 1 | 3 |
| 高风险 | 9 | 1 | 1 | 1 | 2 | 2 | 2 |
| 高风险 | 9 | 1 | 1 | 1 | 2 | 3 | 1 |
| 高风险 | 9 | 1 | 1 | 1 | 3 | 1 | 2 |
相关文章:
【Python】实战:生成无关联单选问卷 csv《压疮风险评估表》
目录 一、适用场景 二、业务需求 三、Python 文件 (1)创建文件 (2)代码示例 四、csv 文件 一、适用场景 实战场景: 问卷全部为单选题问卷问题全部为必填问题之间无关联关系每个问题的答案分数不同根据问卷全部问…...
rsync 远程删除文件
rsync 远程删除文件 rsync是一个强大的远程数据同步工具,它不仅可以实现远程文件复制,也可以实现远程文件删除。 要使用rsync实现远程删除文件,可以使用如下命令: bash rsync -avz --delete usernameremotehost:/path/to/files /path/to/local/dir这个命令的主要参数: -a:归…...
LinkedBlockingQueue原理
1. 基本的入队出队 public class LinkedBlockingQueue<E> extends AbstractQueue<E>implements BlockingQueue<E>, java.io.Serializable {static class Node<E> {E item;/*** 下列三种情况之一* - 真正的后继节点* - 自己, 发生在出队时* - null, 表…...
哈希表题目:网格照明
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:网格照明 出处:1001. 网格照明 难度 6 级 题目描述 要求 在 n n \texttt{n} \times \texttt{n} nn 的二维网格 grid \texttt{grid}…...
Python多线程爬虫为何效率低下?解析原因并提高爬虫速度的方法
目录 一、知识点二、多线程语法GIL单线程多线程单线程多线程 最后的惊喜 一、知识点 线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。线程自己不拥有…...
Python 标准方形信号定义(完美实现)
之前我们介绍了如何定义一个标准的正弦信号,这里我们做一下延申,简单说明一下如何定义一个方形函数。 方形信号表达式 square signal = g ( t ) = sign [ sin ( 2 π f t +...
[Daimayuan] 走不出的迷宫(C++,图论,DP)
有一个 H H H 行 W W W 列的迷宫(行号从上到下是 1 − H 1−H 1−H,列号从左到右是 1 − W 1−W 1−W),现在有一个由 . 和 # 组成的 H 行 W 列的矩阵表示这个迷宫的构造,. 代表可以通过的空地,# 代表不…...
【LeetCode: 1416. 恢复数组 | 暴力递归=>记忆化搜索=>动态规划 】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
centos7查看磁盘io
1.查看所使用到的命令为iostat,centos7没有自带iostat,需要安装一下 2.安装iostat命令 yum -y install sysstat 3.使用iostat命令 iostat %user:表示用户空间进程使用 CPU 时间的百分比 %nice:表示用户空间进程以降低优先级的…...
浅析低代码开发的典型应用构建场景v
在数字经济蓬勃发展的大势之下,企业软件开发人员供给不足、开发速度慢、开发成本高、数字化和智能化成效不明显等问题日益凸出,阻碍了企业的数字化转型。 而近年来,低代码的出现推动了经济社会的全面提效,也成为人才供求矛盾的润…...
3 连续模块(二)
3.5 零极点增益模块 在控制系统设计和分析中,常用的函数包括 传递函数(tf)、零极点(zpk)和状态空间(ss)函数 传递函数(tf):用于表示线性时不变系统的输入输出…...
ElasticSearch 部署及安装ik分词器
ansiable playbook链接: https://download.csdn.net/download/weixin_43798031/87719490 需要注意的点:公司es集群现以三个角色部署分别为 Gateway、Master、Data 简单的理解可以理解为在每台机器上部署了三个es,以端口和配置文件来区分这三…...
汽车充电桩检测设备TK4860C交流充电桩检定装置
TK4860C是一款在交流充电桩充电过程中实时检测充电电量的标准仪器,仪器以新能源车为负载,结合宽动态范围测量技术、电能ms级高速刷新等技术,TK4860C实现充电全过程的累积电能精准计量,相比于传统的预设检定点的稳态计量࿰…...
备份和恢复:确保数据安全
备份和恢复:确保数据安全 在计算机领域中,备份和恢复数据对于确保数据安全至关重要。本文将介绍备份策略概述、使用mysqldump进行备份、使用MySQL Enterprise Backup进行备份、恢复数据以及备份和恢复的最佳实践。 备份策略概述 在制定备份策略时&…...
8 DWA(一)
8 DWA DMA简介 DMA(Direct Memory Access)直接存储器存取(可以直接访问32内部存储器,包括内存SRAM,Flash) DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预&#x…...
mysql慢查询日志
概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。…...
Sentinel介绍及搭建
分布式流量防护 服务雪崩 服务提供者不可用导致服务调用者也跟着不可用,以此类推引起整个链路中的所有微服务都不可用 分布式流量防护 在分布式系统中,服务之间的相互调用会生成分布式流量。如何通过组件进行流量防护,并有效控制流量&…...
最受信任的低代码平台排行榜
近年来,随着数字化转型的兴起,低代码平台获得了大量关注。它允许用户在几乎没有编码知识的情况下创建应用程序,从而使企业能够简化其流程并提高效率。随着低代码平台的日益流行,要确定哪些平台最可靠、最值得信赖并非易事。在本文…...
Django框架之创建项目、应用并配置数据库
django3.0框架创建项目、应用并配置数据库 创建项目 进入命令行 新建一个全英文的目录 进入目录 输入命令 django-admin startproject project 项目目录层级 查看当前目录层级 tree /f 目录文件说明 创建数据库 做一个学生管理系统做演示,使用navicat创建数据…...
软件测试之基础概念学习篇(需求 + 测试用例 + 开发模型 + 测试模型 + BUG)
文章目录 1. 什么是软件测试2. 软件测试和软件开发的区别3. 软件测试和软件调试的区别4. 什么是需求1)以需求为依据设计测试用例 5. 测试用例是什么6. 什么是 BUG(软件错误)7. 五个开发模型1)瀑布模型2)螺旋模型3&…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

