From d74e30f3057e9edb86b7c24a672c00320155a58f Mon Sep 17 00:00:00 2001 From: mxr612 Date: Tue, 4 Mar 2025 20:27:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E9=87=8F=E8=A1=A8?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=99=A8=E5=92=8C=E4=B8=80=E4=B8=AA=E9=87=8F?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scales/CBF-PI-B.json | 374 +++++++++++++++++++++++++++++++++++++++++++ txt2json/input.txt | 46 ++++++ txt2json/output.json | 374 +++++++++++++++++++++++++++++++++++++++++++ txt2json/txt2json.py | 60 +++++++ 4 files changed, 854 insertions(+) create mode 100644 scales/CBF-PI-B.json create mode 100644 txt2json/input.txt create mode 100644 txt2json/output.json create mode 100644 txt2json/txt2json.py diff --git a/scales/CBF-PI-B.json b/scales/CBF-PI-B.json new file mode 100644 index 0000000..65b06f6 --- /dev/null +++ b/scales/CBF-PI-B.json @@ -0,0 +1,374 @@ +{ + "title": "中国大五人格问卷(简式版)", + "description": "", + "instructions": "下面是一些描述人们性格特点的句子,请根据每个句子与您性格相符程度选择相应的数字。1-5分别代表完全不符合、大部分不符合、有点不符合、大部分符合、完全符合。", + "questions": [ + { + "id": "1", + "subscale": "神经质", + "text": "我常感到害怕", + "range": [ + 1, + 5 + ] + }, + { + "id": "2", + "subscale": "严谨性", + "text": "一旦确定了目标,我会坚持努力地实现它", + "range": [ + 1, + 5 + ] + }, + { + "id": "3", + "subscale": "宜人性", + "text": "我觉得大部分人基本上是心怀善意的", + "range": [ + 1, + 5 + ] + }, + { + "id": "4", + "subscale": "开放性", + "text": "我头脑中经常充满生动的画面", + "range": [ + 1, + 5 + ] + }, + { + "id": "5", + "subscale": "外向性", + "text": "我对人多的聚会感到乏味", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "6", + "subscale": "神经质", + "text": "有时我觉得自己一无是处", + "range": [ + 1, + 5 + ] + }, + { + "id": "7", + "subscale": "严谨性", + "text": "我常常是仔细考虑之后才做出决定", + "range": [ + 1, + 5 + ] + }, + { + "id": "8", + "subscale": "宜人性", + "text": "我不太关心别人是否受到不公正的待遇", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "9", + "subscale": "开放性", + "text": "我是个勇于冒险的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "10", + "subscale": "外向性", + "text": "在热闹的聚会上,我常常表现主动并尽情玩耍", + "range": [ + 1, + 5 + ] + }, + { + "id": "11", + "subscale": "神经质", + "text": "别人一句漫不经心的话,我常会联系在自己身上", + "range": [ + 1, + 5 + ] + }, + { + "id": "12", + "subscale": "严谨性", + "text": "别人认为我是个慎重的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "13", + "subscale": "宜人性", + "text": "我时常觉得别人的痛苦与我无关", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "14", + "subscale": "开放性", + "text": "我喜欢冒险", + "range": [ + 1, + 5 + ] + }, + { + "id": "15", + "subscale": "外向性", + "text": "我尽量避免参加人多的聚会和嘈杂的环境", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "16", + "subscale": "神经质", + "text": "在面对压力时,我有种快要崩溃的感觉", + "range": [ + 1, + 5 + ] + }, + { + "id": "17", + "subscale": "严谨性", + "text": "我喜欢一开头就把事情计划好", + "range": [ + 1, + 5 + ] + }, + { + "id": "18", + "subscale": "宜人性", + "text": "我是那种只照顾好自己,不替别人担忧的人", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "19", + "subscale": "开放性", + "text": "我对许多事情有着很强的好奇心", + "range": [ + 1, + 5 + ] + }, + { + "id": "20", + "subscale": "外向性", + "text": "有我在的场合一般不会冷场", + "range": [ + 1, + 5 + ] + }, + { + "id": "21", + "subscale": "神经质", + "text": "我常担忧一些无关紧要的事情", + "range": [ + 1, + 5 + ] + }, + { + "id": "22", + "subscale": "严谨性", + "text": "我工作或学习很勤奋", + "range": [ + 1, + 5 + ] + }, + { + "id": "23", + "subscale": "宜人性", + "text": "虽然社会上有些骗子,但我觉得大部分人还是可信的", + "range": [ + 1, + 5 + ] + }, + { + "id": "24", + "subscale": "开放性", + "text": "我身上具有别人没有的冒险精神", + "range": [ + 1, + 5 + ] + }, + { + "id": "25", + "subscale": "外向性", + "text": "在一个团体中,我希望处于领导地位", + "range": [ + 1, + 5 + ] + }, + { + "id": "26", + "subscale": "神经质", + "text": "我常常感到内心不踏实", + "range": [ + 1, + 5 + ] + }, + { + "id": "27", + "subscale": "严谨性", + "text": "我是个倾尽全力做事的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "28", + "subscale": "宜人性", + "text": "当别人想我诉说不幸的时,我常感到难过", + "range": [ + 1, + 5 + ] + }, + { + "id": "29", + "subscale": "开放性", + "text": "我渴望学习一些新东西,即使它们与我的日常生活无关", + "range": [ + 1, + 5 + ] + }, + { + "id": "30", + "subscale": "外向性", + "text": "别人多认为我是一个热情和友好的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "31", + "subscale": "神经质", + "text": "我常担心有什么不好的事情发生", + "range": [ + 1, + 5 + ] + }, + { + "id": "32", + "subscale": "严谨性", + "text": "在工作上,我常只求能应付过去便可", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "33", + "subscale": "宜人性", + "text": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍相信人性总的来说是善良的", + "range": [ + 1, + 5 + ] + }, + { + "id": "34", + "subscale": "开放性", + "text": "我的想象力相当丰富", + "range": [ + 1, + 5 + ] + }, + { + "id": "35", + "subscale": "外向性", + "text": "我喜欢参加社交与娱乐聚会", + "range": [ + 1, + 5 + ] + }, + { + "id": "36", + "subscale": "神经质", + "text": "我很少感到忧郁或沮丧", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "37", + "subscale": "严谨性", + "text": "做事讲究逻辑和条理是我的一个特点", + "range": [ + 1, + 5 + ] + }, + { + "id": "38", + "subscale": "宜人性", + "text": "我常为那些遭遇不幸的人感到难过", + "range": [ + 1, + 5 + ] + }, + { + "id": "39", + "subscale": "开放性", + "text": "我很愿意也很容易接受那些新事物、新观点、新想法", + "range": [ + 1, + 5 + ] + }, + { + "id": "40", + "subscale": "外向性", + "text": "我希望成为领导者而不是被领导者", + "range": [ + 1, + 5 + ] + } + ] +} \ No newline at end of file diff --git a/txt2json/input.txt b/txt2json/input.txt new file mode 100644 index 0000000..23d495c --- /dev/null +++ b/txt2json/input.txt @@ -0,0 +1,46 @@ +我常感到害怕 +一旦确定了目标,我会坚持努力地实现它 +我觉得大部分人基本上是心怀善意的 +我头脑中经常充满生动的画面 +-我对人多的聚会感到乏味 +有时我觉得自己一无是处 +我常常是仔细考虑之后才做出决定 +-我不太关心别人是否受到不公正的待遇 +我是个勇于冒险的人 +在热闹的聚会上,我常常表现主动并尽情玩耍 +别人一句漫不经心的话,我常会联系在自己身上 +别人认为我是个慎重的人 +-我时常觉得别人的痛苦与我无关 +我喜欢冒险 +-我尽量避免参加人多的聚会和嘈杂的环境 +在面对压力时,我有种快要崩溃的感觉 +我喜欢一开头就把事情计划好 +-我是那种只照顾好自己,不替别人担忧的人 +我对许多事情有着很强的好奇心 +有我在的场合一般不会冷场 +我常担忧一些无关紧要的事情 +我工作或学习很勤奋 +虽然社会上有些骗子,但我觉得大部分人还是可信的 +我身上具有别人没有的冒险精神 +在一个团体中,我希望处于领导地位 +我常常感到内心不踏实 +我是个倾尽全力做事的人 +当别人想我诉说不幸的时,我常感到难过 +我渴望学习一些新东西,即使它们与我的日常生活无关 +别人多认为我是一个热情和友好的人 +我常担心有什么不好的事情发生 +-在工作上,我常只求能应付过去便可 +尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍相信人性总的来说是善良的 +我的想象力相当丰富 +我喜欢参加社交与娱乐聚会 +-我很少感到忧郁或沮丧 +做事讲究逻辑和条理是我的一个特点 +我常为那些遭遇不幸的人感到难过 +我很愿意也很容易接受那些新事物、新观点、新想法 +我希望成为领导者而不是被领导者 +-- +神经质=1,6,11,16,21,26,31,36 +严谨性=2,7,12,17,22,27,32,37 +宜人性=3,8,13,18,23,28,33,38 +开放性=4,9,14,19,24,29,34,39 +外向性=5,10,15,20,25,30,35,40 diff --git a/txt2json/output.json b/txt2json/output.json new file mode 100644 index 0000000..6893f8d --- /dev/null +++ b/txt2json/output.json @@ -0,0 +1,374 @@ +{ + "title": "", + "description": "", + "instructions": "", + "questions": [ + { + "id": "1", + "subscale": "神经质", + "text": "我常感到害怕", + "range": [ + 1, + 5 + ] + }, + { + "id": "2", + "subscale": "严谨性", + "text": "一旦确定了目标,我会坚持努力地实现它", + "range": [ + 1, + 5 + ] + }, + { + "id": "3", + "subscale": "宜人性", + "text": "我觉得大部分人基本上是心怀善意的", + "range": [ + 1, + 5 + ] + }, + { + "id": "4", + "subscale": "开放性", + "text": "我头脑中经常充满生动的画面", + "range": [ + 1, + 5 + ] + }, + { + "id": "5", + "subscale": "外向性", + "text": "我对人多的聚会感到乏味", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "6", + "subscale": "神经质", + "text": "有时我觉得自己一无是处", + "range": [ + 1, + 5 + ] + }, + { + "id": "7", + "subscale": "严谨性", + "text": "我常常是仔细考虑之后才做出决定", + "range": [ + 1, + 5 + ] + }, + { + "id": "8", + "subscale": "宜人性", + "text": "我不太关心别人是否受到不公正的待遇", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "9", + "subscale": "开放性", + "text": "我是个勇于冒险的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "10", + "subscale": "外向性", + "text": "在热闹的聚会上,我常常表现主动并尽情玩耍", + "range": [ + 1, + 5 + ] + }, + { + "id": "11", + "subscale": "神经质", + "text": "别人一句漫不经心的话,我常会联系在自己身上", + "range": [ + 1, + 5 + ] + }, + { + "id": "12", + "subscale": "严谨性", + "text": "别人认为我是个慎重的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "13", + "subscale": "宜人性", + "text": "我时常觉得别人的痛苦与我无关", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "14", + "subscale": "开放性", + "text": "我喜欢冒险", + "range": [ + 1, + 5 + ] + }, + { + "id": "15", + "subscale": "外向性", + "text": "我尽量避免参加人多的聚会和嘈杂的环境", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "16", + "subscale": "神经质", + "text": "在面对压力时,我有种快要崩溃的感觉", + "range": [ + 1, + 5 + ] + }, + { + "id": "17", + "subscale": "严谨性", + "text": "我喜欢一开头就把事情计划好", + "range": [ + 1, + 5 + ] + }, + { + "id": "18", + "subscale": "宜人性", + "text": "我是那种只照顾好自己,不替别人担忧的人", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "19", + "subscale": "开放性", + "text": "我对许多事情有着很强的好奇心", + "range": [ + 1, + 5 + ] + }, + { + "id": "20", + "subscale": "外向性", + "text": "有我在的场合一般不会冷场", + "range": [ + 1, + 5 + ] + }, + { + "id": "21", + "subscale": "神经质", + "text": "我常担忧一些无关紧要的事情", + "range": [ + 1, + 5 + ] + }, + { + "id": "22", + "subscale": "严谨性", + "text": "我工作或学习很勤奋", + "range": [ + 1, + 5 + ] + }, + { + "id": "23", + "subscale": "宜人性", + "text": "虽然社会上有些骗子,但我觉得大部分人还是可信的", + "range": [ + 1, + 5 + ] + }, + { + "id": "24", + "subscale": "开放性", + "text": "我身上具有别人没有的冒险精神", + "range": [ + 1, + 5 + ] + }, + { + "id": "25", + "subscale": "外向性", + "text": "在一个团体中,我希望处于领导地位", + "range": [ + 1, + 5 + ] + }, + { + "id": "26", + "subscale": "神经质", + "text": "我常常感到内心不踏实", + "range": [ + 1, + 5 + ] + }, + { + "id": "27", + "subscale": "严谨性", + "text": "我是个倾尽全力做事的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "28", + "subscale": "宜人性", + "text": "当别人想我诉说不幸的时,我常感到难过", + "range": [ + 1, + 5 + ] + }, + { + "id": "29", + "subscale": "开放性", + "text": "我渴望学习一些新东西,即使它们与我的日常生活无关", + "range": [ + 1, + 5 + ] + }, + { + "id": "30", + "subscale": "外向性", + "text": "别人多认为我是一个热情和友好的人", + "range": [ + 1, + 5 + ] + }, + { + "id": "31", + "subscale": "神经质", + "text": "我常担心有什么不好的事情发生", + "range": [ + 1, + 5 + ] + }, + { + "id": "32", + "subscale": "严谨性", + "text": "在工作上,我常只求能应付过去便可", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "33", + "subscale": "宜人性", + "text": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍相信人性总的来说是善良的", + "range": [ + 1, + 5 + ] + }, + { + "id": "34", + "subscale": "开放性", + "text": "我的想象力相当丰富", + "range": [ + 1, + 5 + ] + }, + { + "id": "35", + "subscale": "外向性", + "text": "我喜欢参加社交与娱乐聚会", + "range": [ + 1, + 5 + ] + }, + { + "id": "36", + "subscale": "神经质", + "text": "我很少感到忧郁或沮丧", + "range": [ + 1, + 5 + ], + "reverse": 1 + }, + { + "id": "37", + "subscale": "严谨性", + "text": "做事讲究逻辑和条理是我的一个特点", + "range": [ + 1, + 5 + ] + }, + { + "id": "38", + "subscale": "宜人性", + "text": "我常为那些遭遇不幸的人感到难过", + "range": [ + 1, + 5 + ] + }, + { + "id": "39", + "subscale": "开放性", + "text": "我很愿意也很容易接受那些新事物、新观点、新想法", + "range": [ + 1, + 5 + ] + }, + { + "id": "40", + "subscale": "外向性", + "text": "我希望成为领导者而不是被领导者", + "range": [ + 1, + 5 + ] + } + ] +} \ No newline at end of file diff --git a/txt2json/txt2json.py b/txt2json/txt2json.py new file mode 100644 index 0000000..34a79f8 --- /dev/null +++ b/txt2json/txt2json.py @@ -0,0 +1,60 @@ +import json + +def txt_to_json(input_file, output_file): + # 获取用户输入的range范围 + range_input = input("请输入评分范围(格式:最小值,最大值,例如1,5): ") + range_values = list(map(int, range_input.split(','))) + + # 读取并分割问题和指令 + with open(input_file, 'r', encoding='utf-8') as f: + all_lines = [line.strip() for line in f if line.strip()] + + # 分割问题定义和subscale指令 + if '--' in all_lines: + split_index = all_lines.index('--') + question_lines = all_lines[:split_index] + subscale_lines = all_lines[split_index+1:] + else: + question_lines = all_lines + subscale_lines = [] + + # 解析subscale指令 + subscale_map = {} + for line in subscale_lines: + if '=' in line: + name, ids = line.split('=', 1) + for q_id in ids.split(','): + subscale_map[q_id.strip()] = name.strip() + + questions = [] + for idx, line in enumerate(question_lines, 1): + # 处理前导"-"标记 + reverse = 1 if line.startswith('-') else None + text = line[1:] if reverse else line + + question = { + "id": str(idx), + "subscale": subscale_map.get(str(idx), ""), # 新增subscale映射 + "text": text, + "range": range_values.copy() + } + + if reverse: + question["reverse"] = 1 + + questions.append(question) + + # 构建完整JSON结构 + result = { + "title": "", + "description": "", + "instructions": "", + "questions": questions + } + + # 写入输出文件 + with open(output_file, 'w', encoding='utf-8') as f: + json.dump(result, f, ensure_ascii=False, indent=4) + +if __name__ == "__main__": + txt_to_json("input.txt", "output.json")