【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&…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...