首页 > 编程语言 >在线问诊 Python、FastAPI、Neo4j — 创建 检查节点

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

时间:2023-09-19 14:34:50浏览次数:41  
标签:__ execute name cql Python FastAPI symptoms Neo4j 节点

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

症状数据

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)


# 清除 Symptom 标签数据
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)

image

标签:__,execute,name,cql,Python,FastAPI,symptoms,Neo4j,节点
From: https://www.cnblogs.com/vipsoft/p/17714541.html

相关文章

  • PyCharm中Directory与Python package的区别
    Directory目录Pythonpackagepython包有一个__init.py__文件__init.py__文件该文件与Python的import机制有关,关乎到哪些.py文件是对外可访问的。在__init.py__文件中定义特殊变量_all_,将要包含的模块赋值给该变量,例如在Image/init.py中定义_all_=['tiff','bmp','j......
  • python报错:pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to "None"
    运行python代码报错:       问题发现:问题其实十分的狗血,这个代码是在服务器上运行的,运行之前其实并没有看具体的代码情况,gitclone下载下来就直接运行了,原来这个代码需要进行图片绘制,说直白些就是需要显示屏,于是解决方法也十分简单,就是换个带桌面的电脑或者使用......
  • Python字符串
    1.字符串的基本操作::::转义符操作:格式化操作:{name1="附件"name2="上课"print("%s的%s"%(name2,name1))}{print(f"{name2}的{name1}")}  2.字符串序列操作::::“容器”加“有序存储"-9-8-7-6-5-4-3 -2 -1  负索引h  e  l  l  o  y u......
  • Python多领域场景实战课 快速成为多面手[完结22章]
    点击下载——Python多领域场景实战课快速成为多面手[完结22章] 提取码:xi9j [完结22章]Python多领域场景实战课快速成为多面手,Python在各个编程语言中比较适合新手学习,Python解释器易于扩展,可以使用C、C++或其他可以通过C调用的语言扩展新的功能和数据类型。Python也可用于可定......
  • python连接mysql
    pymysql是Python的一个MySQL数据库操作库,支持连接MySQL服务器,并进行数据库操作。例如以下代码段演示了如何使用pymysql库将数据存储到MySQL数据库py代码importpymysqldb=pymysql.connect(host='localhost',user='test',password='test',database='test',charset='utf8'......
  • python处理xls数据并保存到mysql数据库
    #-*-coding:utf-8-*-#CreatedbyY.W.on2017/7/3117:46.importpymysqlimportxlrd#获取xlsx文件,获取sheet文件try:book=xlrd.open_workbook('D:/test.xls')sheet=book.sheet_by_name(u'Sheet1')exceptExceptionase:prin......
  • python 如何将不完全连续的整数序列按[1-5,6,8-10]的格式输出,给出函数代码
    python如何将不完全连续的整数序列按[1-5,6,8-10]的格式输出,给出函数代码defformat_integer_sequence(seq):formatted_seq=[]start=Noneend=Nonefornuminsorted(seq):ifstartisNone:start=numend=num......
  • Linux上python安装apex
    直接pipinstallapex即可以下是过时、错误的帖子:https://blog.csdn.net/weixin_44917271/article/details/116382959https://blog.csdn.net/mrjkzhangma/article/details/100704397https://www.cnblogs.com/peixu/p/14614013.html若出现运行时出错(我自己装了2次第一次没错,第......
  • [完结22章]Python多领域场景实战课 快速成为多面手
    点击下载——[完结22章]Python多领域场景实战课快速成为多面手  提取码:ith6Python多领域场景实战课快速成为多面手2023,完结22章,理论+实战相结合,融合5大领域(如办公自动化、数据分析、爬虫、人工智能、Web开发)Python多领域场景实战课快速成为多面手,Python是一种动态的、高级......
  • 如何显示并管理Python应用的数据?Kendo UI for Angular有妙招!
    Angular是Python应用中进行数据管理和显示的一个很好的选择,如果能使用KendoUIforAngular则可以更进一步。PS:给大家推荐一个实用组件~KendoUIforAngular是专业级的AngularUI组件库,不仅是将其他供应商提供的现有组件封装起来,telerik致力于提供纯粹高性能的AngularUI组件,而......