有没有办法将动态 Cypher 查询存储到 python 变量中?

问题描述

有没有办法将我的密码查询放入 python 变量中?我可以将密码的非参数放入变量中,但出现错误 [![在此处输入图像描述][1]][1]

[1]: https://i.stack.imgur.com/mfRrp.png 尝试将参数部分放入变量中。

我正在使用 pandas 和 py2neo 将 CSV 加载到 neo4j。 df_data 是我的 Pandas 数据框,有 2 列和 3 行。

for index,row in df_data.iterrows():
        tx.evaluate('''MERGE (x:PATIENT_ID {property:$PATIENT_ID})
            MERGE(y:GLB_ID {property:$GLB_ID})
            MERGE (x)-[r:R_TYPE]->(y) ''',parameters = {'PATIENT_ID': int(row['PATIENT_ID']),'GLB_ID': int(row['GLB_ID'])})

如果我运行以下将非参数部分存储到 cq 中的代码,我的代码运行没有问题:

for index,row in df_data.iterrows():
        tx.evaluate(cq,'GLB_ID': int(row['GLB_ID'])})

我正在寻找一种将参数部分存储到 python 变量中的方法

解决方法

我用字典来解决这个问题。我在密码查询上使用字典来解决它:

for index,row in df_data.iterrows():
        t_dict = {}
        for k in p_dict.keys():
            try: 
                t_dict[k] = int(row[k])
            except TypeError:
                t_dict[k] = row[k]
        tx.evaluate(cq,t_dict)