Files
jupyter/体测单位/体检报告分析.ipynb
T
2023-05-25 19:17:38 +08:00

9.0 KiB

体质指标问卷导入

In [17]:
import json

filename = 'data/淄博交警体质指标问卷.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
for items in dict1['pages']:
    for item in items['elements']:
        #print(item)
        dict2.setdefault(item['name'],{})
        name = item['name']
        dict2[name]['type'] = item['type']
        dict2[name]['title'] = item['title']['zh-cn']
        if 'isRequired' in item.keys():
            dict2[name]['isRequired'] = item['isRequired']
        else:
            dict2[name]['isRequired'] = False
        if item['type'] == 'text':
            dict2[name]['inputType'] = item['inputType']
        else:
            dict2[name]['choices'] = item['choices']
filename = 'data/淄博交警体质问卷参数.json'
with open(filename, 'w') as fl:
    json.dump(dict2, fl, ensure_ascii=False)
print('ok')
ok

体质指标问卷整理

In [41]:
import json

filename = 'data/淄博交警体质问卷参数.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

for k, v in dict1.items():
    if 'choices' in v.keys():
        dict2 = {}
        for item in v['choices']:
            dict2[str(item['value'])] = item['text']
        dict1[k]['choices'] = dict2
filename = 'data/淄博交警体质问卷参数.json'
with open(filename, 'w') as fl:
    json.dump(dict1, fl, ensure_ascii=False)
print('ok')
ok

问卷数据分析

In [43]:
import json
filename = 'data/淄博交警体质问卷参数.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/Survey_20230522.json'

with open(filename,'r') as fl:
    dict2 = json.load(fl) 
for items in dict2['Survey']:
    #print(items)
    phone = items['phone']
    print(phone)
    data = json.loads(items['data'])
    for k, v in data.items():
        title = dict1[k]['title']
        if dict1[k]['type'] == 'radiogroup':
            value = dict1[k]['choices'][str(v)] 
        if dict1[k]['type'] == 'text':
            value = v
        if dict1[k]['type'] == 'checkbox':
            value = []
            for choice in v:
                value.append(dict1[k]['choices'][str(choice)]) 
        print(title,value)  
13718887655
您的性别 女性
您的年龄 39
您的身高(cm) 160
您的体重(kg) 52
您的血压(BP) 临界偏低(收缩压90-94mmHg和/或舒张压60-65mmHg)
您的空腹血糖(FPG) 正常(3.89-6.1mmol/L)
您的白细胞计数(WBC) 临界偏高(9.6-10×10^9/L)
您的血红蛋白(HGB) 临界偏低(110-114g/L)
您的血小板(PLT) 正常(125-350×10^9/L)
您的低密度脂蛋白(LDL-C) 临界偏高(5.18-6.19mmol/L)
您的甘油三酯(TG) 正常(0.45-1.69mmol/L)
您的尿酸(UA) 正常(155.00- 350.00 μmol/L)
您的肌酐(Cr) 正常(44.00- 73.00μmol/L)
您的谷丙转氨酶(ALT) 正常(7.00- 19.00U/L)
您的谷草转氨酶(AST) 正常(13.00- 35.00U/L)
您的甲状腺功能 正常
您的尿蛋白 阴性
您的便潜血 阴性
您的幽门螺旋杆菌 阴性
囊肿(选做题,没有囊肿问题的请跳过) ['卵巢囊肿']
结节(选做题,没有结节问题的请跳过) ['肺结节']
息肉(选做题,没有息肉问题的请跳过) ['其他息肉']
您的其他问题(选做题,没有这些问题的请跳过) ['过敏性鼻炎']
您的饮食口味 ['清淡']
您吸烟吗 不吸烟
您喝酒吗 不喝
您参加规律的体育锻炼吗 不参加
您的睡眠状况如何 非常好
您的排便频率如何 2天一次
您的职业 管理人员
您的父母或兄弟姐妹是否患有明确诊断的疾病?(选做题,没有遗传病史的请跳过) ['高血压', '冠心病', '脑卒中']
15210715398
您的性别 女性
您的年龄 36
您的身高(cm) 162
您的体重(kg) 56
您的血压(BP) 正常(收缩压95-130mmHg和舒张压65-85mmHg)
您的空腹血糖(FPG) 正常(3.89-6.1mmol/L)
您的白细胞计数(WBC) 正常(4-9.5×10^9/L)
您的血红蛋白(HGB) 正常(115-145g/L)
您的血小板(PLT) 正常(125-350×10^9/L)
您的低密度脂蛋白(LDL-C) 正常(3.1-5.18mmol/L)
您的甘油三酯(TG) 正常(0.45-1.69mmol/L)
您的尿酸(UA) 正常(155.00- 350.00 μmol/L)
您的肌酐(Cr) 正常(44.00- 73.00μmol/L)
您的谷丙转氨酶(ALT) 正常(7.00- 19.00U/L)
您的谷草转氨酶(AST) 正常(13.00- 35.00U/L)
您的甲状腺功能 正常
您的尿蛋白 阴性
您的便潜血 阴性
您的幽门螺旋杆菌 阴性
您的心脏(选做题,没有心脏问题的请跳过) ['窦性心律不齐']
您的饮食口味 ['辛辣']
您吸烟吗 不吸烟
您喝酒吗 不喝
您参加规律的体育锻炼吗 经常参加(平均每周锻炼3次及以上,每次锻炼>30分钟)
您的睡眠状况如何 非常好
您的排便频率如何 2天一次
您的职业 行政工作
您的父母或兄弟姐妹是否患有明确诊断的疾病?(选做题,没有遗传病史的请跳过) ['高血压']
In [ ]: