464 lines
22 KiB
Python
464 lines
22 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
生成SCL-90完整JSON文件的脚本
|
||
包含90个题目、9个因子、计分规则、结果解释和预警规则
|
||
"""
|
||
|
||
import json
|
||
|
||
# SCL-90标准90个题目内容
|
||
scl90_items = [
|
||
"头痛", "神经过敏,心中不踏实", "头脑中有不必要的想法或字句盘旋", "头昏或昏倒", "对异性的兴趣减退",
|
||
"对旁人责备求全", "感到别人能控制您的思想", "责怪别人制造麻烦", "忘记性大", "担心自己的衣饰整齐及仪态的端正",
|
||
"容易烦恼和激动", "胸痛", "害怕空旷的场所或街道", "感到自己的精力下降,活动减慢", "想结束自己的生命",
|
||
"听到旁人听不到的声音", "发抖", "感到大多数人都不可信任", "胃口不好", "容易哭泣",
|
||
"同异性相处时感到害羞不自在", "感到受骗、中了圈套或有人想抓住您", "无缘无故地突然感到害怕", "自己不能控制地大发脾气", "怕单独出门",
|
||
"经常责怪自己", "腰痛", "感到难以完成任务", "感到孤独", "感到苦闷",
|
||
"过分担忧", "对事物不感兴趣", "感到害怕", "您的感情容易受到伤害", "感到旁人能知道您的私下想法",
|
||
"感到别人不理解您、不同情您", "感到人们对您不友好、不喜欢您", "做事必须做得很慢以保证做得正确", "心跳得很厉害", "恶心或胃部不舒服",
|
||
"感到比不上他人", "肌肉酸痛", "感到有人在监视您、谈论您", "难以入睡", "做事必须反复检查",
|
||
"难以做出决定", "怕乘电车、公共汽车、地铁或火车", "呼吸有困难", "一阵阵发冷或发热", "因为感到害怕而避开某些东西、场合或活动",
|
||
"脑子变空了", "身体发麻或刺痛", "喉咙有梗塞感", "感到前途没有希望", "不能集中注意",
|
||
"感到身体的某一部分软弱无力", "感到紧张或容易紧张", "感到手或脚发重", "想到死亡的事", "吃得太多",
|
||
"当别人看着您或谈论您时感到不自在", "有一些不属于您自己的想法", "有想打人或伤害他人的冲动", "醒得太早", "必须反复洗手、点数或触摸某些东西",
|
||
"睡得不稳不深", "有想摔坏或破坏东西的冲动", "有一些别人没有的想法或念头", "感到对别人神经过敏", "在商店或电影院等人多的地方感到不自在",
|
||
"感到任何事情都很困难", "一阵阵恐惧或惊恐", "感到在公共场合吃东西很不舒服", "经常与人争论", "单独一人时神经很紧张",
|
||
"别人对您的成绩没有做出恰当的评价", "即使和别人在一起也感到孤单", "感到坐立不安心神不定", "感到自己没有什么价值", "感到熟悉的东西变成陌生或不像是真的",
|
||
"大叫或摔东西", "害怕会在公共场合昏倒", "感到别人想占您的便宜", "为一些有关\"性\"的想法而很苦恼", "您认为应该因为自己的过错而受到惩罚",
|
||
"感到要很快把事情做完", "感到自己的身体有严重问题", "从未感到和其他人很亲近", "感到自己有罪", "感到自己的脑子有毛病"
|
||
]
|
||
|
||
# SCL-90因子定义(因子代码、名称、包含的题目编号)
|
||
factors_data = [
|
||
{"code": "F1", "name": "躯体化", "items": [1,4,12,27,40,42,48,49,52,53,56,58]},
|
||
{"code": "F2", "name": "强迫症状", "items": [3,9,10,28,38,45,46,51,55,65]},
|
||
{"code": "F3", "name": "人际关系敏感", "items": [6,21,34,36,37,41,61,69,73]},
|
||
{"code": "F4", "name": "抑郁", "items": [5,14,15,20,22,26,29,30,31,32,54,71,79]},
|
||
{"code": "F5", "name": "焦虑", "items": [2,17,23,33,39,57,72,78,80,86]},
|
||
{"code": "F6", "name": "敌对", "items": [11,24,63,67,74,81]},
|
||
{"code": "F7", "name": "恐怖", "items": [13,25,47,50,70,75,82]},
|
||
{"code": "F8", "name": "偏执", "items": [8,18,43,68,76,83]},
|
||
{"code": "F9", "name": "精神病性", "items": [7,16,35,62,77,84,85,87,88,90]}
|
||
]
|
||
|
||
# 因子英文名称映射
|
||
factor_en_names = {
|
||
"F1": "Somatization",
|
||
"F2": "Obsessive-Compulsive",
|
||
"F3": "Interpersonal Sensitivity",
|
||
"F4": "Depression",
|
||
"F5": "Anxiety",
|
||
"F6": "Hostility",
|
||
"F7": "Phobic Anxiety",
|
||
"F8": "Paranoid Ideation",
|
||
"F9": "Psychoticism"
|
||
}
|
||
|
||
# 生成量表基本信息
|
||
scale_info = {
|
||
"scaleCode": "SCL_90",
|
||
"scaleName": "症状自评量表SCL-90",
|
||
"scaleEnName": "Symptom Checklist 90",
|
||
"scaleType": "symptom",
|
||
"scaleVersion": "1.0",
|
||
"scaleIntro": "SCL-90是一个包含90个项目的症状自评量表,用于评估个体的心理症状水平",
|
||
"scaleDescription": "SCL-90量表包含90个项目,涵盖9个症状因子:躯体化、强迫症状、人际关系敏感、抑郁、焦虑、敌对、恐怖、偏执、精神病性。采用5级评分(0-4分),是心理健康评估的重要工具。",
|
||
"itemCount": 90,
|
||
"estimatedTime": 30,
|
||
"targetPopulation": "一般人群",
|
||
"author": "Derogatis",
|
||
"source": "心理卫生评定量表手册",
|
||
"reference": "Derogatis, L. R. (1977). SCL-90: Administration, scoring, and procedures manual. Clinical Psychometric Research.",
|
||
"status": "0",
|
||
"sortOrder": 0
|
||
}
|
||
|
||
# 生成题目列表(包含选项)
|
||
items_list = []
|
||
for i, content in enumerate(scl90_items, 1):
|
||
item_data = {
|
||
"item": {
|
||
"itemNumber": i,
|
||
"itemContent": content,
|
||
"itemType": "single",
|
||
"required": "1",
|
||
"reverseScore": "0",
|
||
"sortOrder": i
|
||
},
|
||
"options": [
|
||
{"optionCode": "A", "optionContent": "没有", "optionScore": 0, "sortOrder": 1},
|
||
{"optionCode": "B", "optionContent": "很轻", "optionScore": 1, "sortOrder": 2},
|
||
{"optionCode": "C", "optionContent": "中等", "optionScore": 2, "sortOrder": 3},
|
||
{"optionCode": "D", "optionContent": "偏重", "optionScore": 3, "sortOrder": 4},
|
||
{"optionCode": "E", "optionContent": "严重", "optionScore": 4, "sortOrder": 5}
|
||
]
|
||
}
|
||
items_list.append(item_data)
|
||
|
||
# 生成因子列表(包含计分规则)
|
||
factors_list = []
|
||
for idx, factor_data in enumerate(factors_data, 1):
|
||
factor_obj = {
|
||
"factor": {
|
||
"factorCode": factor_data["code"],
|
||
"factorName": factor_data["name"],
|
||
"factorEnName": factor_en_names.get(factor_data["code"], ""),
|
||
"factorDescription": "SCL-90 {}因子,包含{}个题目".format(factor_data["name"], len(factor_data["items"])),
|
||
"factorOrder": idx
|
||
},
|
||
"rules": [
|
||
{
|
||
"itemNumber": item_num,
|
||
"rule": {
|
||
"optionIds": "",
|
||
"weight": 1.0,
|
||
"calculationType": "sum"
|
||
}
|
||
}
|
||
for item_num in factor_data["items"]
|
||
]
|
||
}
|
||
factors_list.append(factor_obj)
|
||
|
||
# SCL-90因子常模和解释规则
|
||
# 因子均分标准:<1.0正常,1.0-1.9轻度,2.0-2.9中度,≥3.0重度
|
||
# 因子总分 = 因子均分 × 题目数量
|
||
|
||
# 因子题目数量和总分范围
|
||
factor_ranges = {
|
||
"F1": {"itemCount": 12, "maxScore": 48}, # 躯体化
|
||
"F2": {"itemCount": 10, "maxScore": 40}, # 强迫症状
|
||
"F3": {"itemCount": 9, "maxScore": 36}, # 人际关系敏感
|
||
"F4": {"itemCount": 13, "maxScore": 52}, # 抑郁
|
||
"F5": {"itemCount": 10, "maxScore": 40}, # 焦虑
|
||
"F6": {"itemCount": 6, "maxScore": 24}, # 敌对
|
||
"F7": {"itemCount": 7, "maxScore": 28}, # 恐怖
|
||
"F8": {"itemCount": 6, "maxScore": 24}, # 偏执
|
||
"F9": {"itemCount": 10, "maxScore": 40} # 精神病性
|
||
}
|
||
|
||
# 生成总体解释配置(总分范围0-360)
|
||
interpretations_list = [
|
||
{
|
||
"factorId": None,
|
||
"scoreRangeMin": 0,
|
||
"scoreRangeMax": 160,
|
||
"level": "低",
|
||
"levelName": "正常",
|
||
"interpretationTitle": "正常范围",
|
||
"interpretationContent": "您的总体得分在正常范围内,心理健康状况良好。",
|
||
"suggestions": "继续保持良好的心理状态,注意日常生活中的压力管理。",
|
||
"sortOrder": 1
|
||
},
|
||
{
|
||
"factorId": None,
|
||
"scoreRangeMin": 161,
|
||
"scoreRangeMax": 250,
|
||
"level": "中",
|
||
"levelName": "轻度",
|
||
"interpretationTitle": "轻度症状",
|
||
"interpretationContent": "您可能存在轻度的心理症状,建议适当关注自己的心理健康。",
|
||
"suggestions": "建议通过放松训练、运动、社交等方式缓解压力,如症状持续可考虑咨询专业人士。",
|
||
"sortOrder": 2
|
||
},
|
||
{
|
||
"factorId": None,
|
||
"scoreRangeMin": 251,
|
||
"scoreRangeMax": 360,
|
||
"level": "高",
|
||
"levelName": "中重度",
|
||
"interpretationTitle": "中重度症状",
|
||
"interpretationContent": "您的得分显示可能存在中重度的心理症状,建议寻求专业心理帮助。",
|
||
"suggestions": "强烈建议咨询心理医生或心理治疗师,进行专业的心理评估和治疗。",
|
||
"sortOrder": 3
|
||
}
|
||
]
|
||
|
||
# 为每个因子生成解释配置(基于因子总分)
|
||
# 因子均分 < 1.0 为正常,1.0-1.9 为轻度,2.0-2.9 为中度,≥ 3.0 为重度
|
||
factor_interpretations = {
|
||
"F1": {
|
||
"name": "躯体化",
|
||
"descriptions": {
|
||
"正常": "您的躯体化因子得分在正常范围内,躯体不适感较轻。",
|
||
"轻度": "您可能存在轻度的躯体化症状,建议关注身体健康状况。",
|
||
"中度": "您存在中度的躯体化症状,建议进行身体检查并关注心理健康。",
|
||
"重度": "您存在重度的躯体化症状,强烈建议寻求医疗和心理双重帮助。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的生活习惯,定期体检。",
|
||
"轻度": "建议关注身体健康,适当进行体检,同时注意心理压力的管理。",
|
||
"中度": "建议进行全面的身体检查,排除器质性病变,并寻求心理帮助。",
|
||
"重度": "强烈建议尽快就医,进行全面的身体和心理评估,制定综合治疗方案。"
|
||
}
|
||
},
|
||
"F2": {
|
||
"name": "强迫症状",
|
||
"descriptions": {
|
||
"正常": "您的强迫症状因子得分在正常范围内,强迫思维和行为较少。",
|
||
"轻度": "您可能存在轻度的强迫症状,偶尔出现不必要的想法或行为。",
|
||
"中度": "您存在中度的强迫症状,可能影响日常生活和工作效率。",
|
||
"重度": "您存在重度的强迫症状,严重影响日常生活,需要专业治疗。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的心理状态。",
|
||
"轻度": "建议学习放松技巧,减少不必要的担心和重复行为。",
|
||
"中度": "建议寻求心理治疗,学习认知行为疗法等方法来缓解强迫症状。",
|
||
"重度": "强烈建议寻求专业心理治疗,可能需要药物治疗配合心理治疗。"
|
||
}
|
||
},
|
||
"F3": {
|
||
"name": "人际关系敏感",
|
||
"descriptions": {
|
||
"正常": "您的人际关系敏感因子得分在正常范围内,人际交往较为自然。",
|
||
"轻度": "您可能在人际交往中偶尔感到不适或敏感。",
|
||
"中度": "您存在中度的人际关系敏感,可能影响社交能力和人际关系。",
|
||
"重度": "您存在重度的人际关系敏感,严重影响社交和人际关系,需要帮助。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的人际交往。",
|
||
"轻度": "建议增加社交活动,培养自信,学习沟通技巧。",
|
||
"中度": "建议寻求心理咨询,学习改善人际关系的方法和技巧。",
|
||
"重度": "强烈建议寻求专业心理治疗,改善社交恐惧和人际关系问题。"
|
||
}
|
||
},
|
||
"F4": {
|
||
"name": "抑郁",
|
||
"descriptions": {
|
||
"正常": "您的抑郁因子得分在正常范围内,情绪状态良好。",
|
||
"轻度": "您可能存在轻度的抑郁情绪,偶尔感到沮丧或失落。",
|
||
"中度": "您存在中度的抑郁症状,可能影响日常生活和工作。",
|
||
"重度": "您存在重度的抑郁症状,严重影响生活功能,需要立即寻求帮助。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的情绪状态。",
|
||
"轻度": "建议增加运动,培养兴趣爱好,保持规律的作息。",
|
||
"中度": "建议寻求心理咨询或心理治疗,必要时考虑药物治疗。",
|
||
"重度": "强烈建议立即寻求专业帮助,可能需要药物治疗和心理治疗相结合。"
|
||
}
|
||
},
|
||
"F5": {
|
||
"name": "焦虑",
|
||
"descriptions": {
|
||
"正常": "您的焦虑因子得分在正常范围内,焦虑水平较低。",
|
||
"轻度": "您可能存在轻度的焦虑情绪,偶尔感到紧张或担心。",
|
||
"中度": "您存在中度的焦虑症状,可能影响日常生活和工作。",
|
||
"重度": "您存在重度的焦虑症状,严重影响生活功能,需要专业治疗。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的心理状态。",
|
||
"轻度": "建议学习放松技巧,进行深呼吸和冥想练习。",
|
||
"中度": "建议寻求心理咨询,学习焦虑管理技巧,必要时考虑药物治疗。",
|
||
"重度": "强烈建议寻求专业治疗,可能需要药物治疗配合心理治疗。"
|
||
}
|
||
},
|
||
"F6": {
|
||
"name": "敌对",
|
||
"descriptions": {
|
||
"正常": "您的敌对因子得分在正常范围内,情绪控制良好。",
|
||
"轻度": "您可能存在轻度的敌对情绪,偶尔感到愤怒或烦躁。",
|
||
"中度": "您存在中度的敌对情绪,可能影响人际关系。",
|
||
"重度": "您存在重度的敌对情绪,严重影响人际关系和社会功能。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的情绪管理。",
|
||
"轻度": "建议学习情绪管理技巧,进行适当的运动来释放压力。",
|
||
"中度": "建议寻求心理咨询,学习愤怒管理和冲突解决技巧。",
|
||
"重度": "强烈建议寻求专业心理治疗,改善情绪控制和人际交往能力。"
|
||
}
|
||
},
|
||
"F7": {
|
||
"name": "恐怖",
|
||
"descriptions": {
|
||
"正常": "您的恐怖因子得分在正常范围内,恐惧情绪较少。",
|
||
"轻度": "您可能存在轻度的恐怖情绪,对某些情境感到轻微不安。",
|
||
"中度": "您存在中度的恐怖情绪,可能影响正常生活和工作。",
|
||
"重度": "您存在重度的恐怖情绪,严重影响正常生活,需要专业治疗。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的心理状态。",
|
||
"轻度": "建议逐步面对恐惧,进行脱敏训练。",
|
||
"中度": "建议寻求心理咨询,进行系统脱敏治疗。",
|
||
"重度": "强烈建议寻求专业心理治疗,可能需要暴露疗法和药物治疗。"
|
||
}
|
||
},
|
||
"F8": {
|
||
"name": "偏执",
|
||
"descriptions": {
|
||
"正常": "您的偏执因子得分在正常范围内,信任感良好。",
|
||
"轻度": "您可能存在轻度的偏执倾向,偶尔对他人产生怀疑。",
|
||
"中度": "您存在中度的偏执倾向,可能影响人际关系和信任。",
|
||
"重度": "您存在重度的偏执倾向,严重影响人际关系和社会功能。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的人际信任。",
|
||
"轻度": "建议增强自信,学习信任他人,改善人际关系。",
|
||
"中度": "建议寻求心理咨询,改善偏执思维,学习正确的认知方式。",
|
||
"重度": "强烈建议寻求专业心理治疗,可能需要认知行为疗法和药物治疗。"
|
||
}
|
||
},
|
||
"F9": {
|
||
"name": "精神病性",
|
||
"descriptions": {
|
||
"正常": "您的精神病性因子得分在正常范围内,思维清晰。",
|
||
"轻度": "您可能存在轻微的精神病性症状,偶尔出现异常想法。",
|
||
"中度": "您存在中度的精神病性症状,可能影响思维和判断。",
|
||
"重度": "您存在重度的精神病性症状,严重影响思维功能,需要立即就医。"
|
||
},
|
||
"suggestions": {
|
||
"正常": "继续保持良好的心理状态。",
|
||
"轻度": "建议关注心理健康,如有持续异常思维请及时咨询。",
|
||
"中度": "强烈建议寻求精神科医生的专业评估和治疗。",
|
||
"重度": "紧急建议立即寻求精神科专业治疗,可能需要住院治疗。"
|
||
}
|
||
}
|
||
}
|
||
|
||
# 为每个因子添加解释配置
|
||
for factor_code, factor_info in factor_interpretations.items():
|
||
if factor_code in factor_ranges:
|
||
item_count = factor_ranges[factor_code]["itemCount"]
|
||
max_score = factor_ranges[factor_code]["maxScore"]
|
||
|
||
# 正常:均分 < 1.0,总分 < 题目数
|
||
interpretations_list.append({
|
||
"factorId": None, # 导入时会通过factorCode映射设置
|
||
"factorCode": factor_code, # 用于映射到factorId的临时字段
|
||
"scoreRangeMin": 0,
|
||
"scoreRangeMax": item_count - 1,
|
||
"level": "低",
|
||
"levelName": "正常",
|
||
"interpretationTitle": "{}因子正常".format(factor_info["name"]),
|
||
"interpretationContent": factor_info["descriptions"]["正常"],
|
||
"suggestions": factor_info["suggestions"]["正常"],
|
||
"sortOrder": 1
|
||
})
|
||
|
||
# 轻度:均分 1.0-1.9,总分 = 题目数 × 1.0 到 题目数 × 1.9
|
||
min_light = item_count * 1.0
|
||
max_light = int(item_count * 1.9)
|
||
interpretations_list.append({
|
||
"factorId": None,
|
||
"factorCode": factor_code,
|
||
"scoreRangeMin": int(min_light),
|
||
"scoreRangeMax": max_light,
|
||
"level": "中",
|
||
"levelName": "轻度",
|
||
"interpretationTitle": "{}因子轻度".format(factor_info["name"]),
|
||
"interpretationContent": factor_info["descriptions"]["轻度"],
|
||
"suggestions": factor_info["suggestions"]["轻度"],
|
||
"sortOrder": 2
|
||
})
|
||
|
||
# 中度:均分 2.0-2.9,总分 = 题目数 × 2.0 到 题目数 × 2.9
|
||
min_moderate = item_count * 2.0
|
||
max_moderate = int(item_count * 2.9)
|
||
interpretations_list.append({
|
||
"factorId": None,
|
||
"factorCode": factor_code,
|
||
"scoreRangeMin": int(min_moderate),
|
||
"scoreRangeMax": max_moderate,
|
||
"level": "高",
|
||
"levelName": "中度",
|
||
"interpretationTitle": "{}因子中度".format(factor_info["name"]),
|
||
"interpretationContent": factor_info["descriptions"]["中度"],
|
||
"suggestions": factor_info["suggestions"]["中度"],
|
||
"sortOrder": 3
|
||
})
|
||
|
||
# 重度:均分 ≥ 3.0,总分 ≥ 题目数 × 3.0
|
||
min_severe = int(item_count * 3.0)
|
||
interpretations_list.append({
|
||
"factorId": None,
|
||
"factorCode": factor_code,
|
||
"scoreRangeMin": min_severe,
|
||
"scoreRangeMax": max_score,
|
||
"level": "高",
|
||
"levelName": "重度",
|
||
"interpretationTitle": "{}因子重度".format(factor_info["name"]),
|
||
"interpretationContent": factor_info["descriptions"]["重度"],
|
||
"suggestions": factor_info["suggestions"]["重度"],
|
||
"sortOrder": 4
|
||
})
|
||
|
||
# 生成预警规则
|
||
warning_rules_list = [
|
||
# 总体预警规则
|
||
{
|
||
"factorId": None,
|
||
"ruleName": "重度症状预警",
|
||
"warningLevel": "高",
|
||
"scoreMin": 250,
|
||
"scoreMax": 360,
|
||
"autoRelief": "0",
|
||
"status": "0"
|
||
},
|
||
{
|
||
"factorId": None,
|
||
"ruleName": "紧急症状预警",
|
||
"warningLevel": "紧急",
|
||
"scoreMin": 300,
|
||
"scoreMax": 360,
|
||
"autoRelief": "0",
|
||
"status": "0"
|
||
}
|
||
]
|
||
|
||
# 为每个因子添加预警规则(重度及以上需要预警)
|
||
for factor_code, factor_info in factor_interpretations.items():
|
||
if factor_code in factor_ranges:
|
||
item_count = factor_ranges[factor_code]["itemCount"]
|
||
max_score = factor_ranges[factor_code]["maxScore"]
|
||
|
||
# 重度预警(均分 ≥ 3.0)
|
||
min_severe = int(item_count * 3.0)
|
||
warning_rules_list.append({
|
||
"factorId": None, # 导入时会通过factorCode映射设置
|
||
"factorCode": factor_code, # 用于映射到factorId的临时字段
|
||
"ruleName": "{}因子重度预警".format(factor_info["name"]),
|
||
"warningLevel": "高",
|
||
"scoreMin": min_severe,
|
||
"scoreMax": max_score,
|
||
"autoRelief": "0",
|
||
"status": "0"
|
||
})
|
||
|
||
# 中度预警(均分 2.0-2.9)- 对于某些敏感因子
|
||
if factor_code in ["F4", "F5", "F9"]: # 抑郁、焦虑、精神病性需要中度预警
|
||
min_moderate = int(item_count * 2.0)
|
||
max_moderate = int(item_count * 2.9)
|
||
warning_rules_list.append({
|
||
"factorId": None,
|
||
"factorCode": factor_code,
|
||
"ruleName": "{}因子中度预警".format(factor_info["name"]),
|
||
"warningLevel": "中",
|
||
"scoreMin": min_moderate,
|
||
"scoreMax": max_moderate,
|
||
"autoRelief": "0",
|
||
"status": "0"
|
||
})
|
||
|
||
# 组合完整的JSON对象
|
||
json_data = {
|
||
"scale": scale_info,
|
||
"items": items_list,
|
||
"factors": factors_list,
|
||
"interpretations": interpretations_list,
|
||
"warningRules": warning_rules_list
|
||
}
|
||
|
||
# 输出JSON文件
|
||
output_file = "SCL90症状自评量表.json"
|
||
with open(output_file, 'w', encoding='utf-8') as f:
|
||
json.dump(json_data, f, ensure_ascii=False, indent=2)
|
||
|
||
print("✅ SCL-90 JSON文件已生成: {}".format(output_file))
|
||
print("📊 统计信息:")
|
||
print(" - 量表: {}".format(scale_info["scaleName"]))
|
||
print(" - 题目数量: {}".format(len(items_list)))
|
||
print(" - 因子数量: {}".format(len(factors_list)))
|
||
print(" - 结果解释: {}".format(len(interpretations_list)))
|
||
print(" - 预警规则: {}".format(len(warning_rules_list)))
|
||
|