在线问诊 Python、FastAPI、Neo4j — 创建 检查节点
  DGdJRDRdbXFV 2023年11月19日 30 0

目录

  • 检查数据
  • 创建节点


根据不同的症状,会建议做些相对应的检验、检查

检查数据

examine_data.csv 建议值用“”引起来。避免中间有,号造成误识别

检查
"膝关节核磁"
"眼睛酸胀"
"视力"
"砂眼"
"辨色力"
"角膜"
"眼底"

创建节点

参考 创建药品 节点。

import logging
from utils.neo4j_provider import driver
import pandas as pd


logging.root.setLevel(logging.INFO)


# 并生成 CQL
def generate_cql() -> str:
    cql = """
        CREATE (examine1:Examine {name: "膝关节核磁"}),
        (examine2:Examine {name: "眼睛酸胀"}),
        """
    df = pd.read_csv('examine_data.csv')
    symptoms = []
    for each in df['检查']:
        symptoms.extend(each.split(','))  # 按,号分割成数组,并将每行数据到一个队列里面
    symptoms = set(symptoms)  # 去除重复项

    # 拼接 CQL
    cql = ""
    for idx, item in enumerate(symptoms):
        cql += """(examine%s:Examine {name: "%s"}),\r\n""" \
               % (idx, item)
    return "CREATE %s" % (cql.rstrip(",\r\n"))  # 删除最后一个节点的 逗号


# 执行写的命令
def execute_write(cql):
    with driver.session() as session:
        session.execute_write(execute_cql, cql)
    driver.close()


# 执行 CQL 语句
def execute_cql(tx, cql):
    tx.run(cql)


# 清除 Examine 标签数据
def clear_data():
    cql = "MATCH (n:Examine) DETACH DELETE n"
    execute_write(cql)


if __name__ == "__main__":
    clear_data()
    cql = generate_cql()
    print(cql)
    execute_write(cql)

在线问诊 Python、FastAPI、Neo4j — 创建 检查节点_数组

源代码地址:https://gitee.com/VipSoft/VipQA




作者:VipSoft


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
DGdJRDRdbXFV