如何将 neo4j return 类型转换为 python 类型
How to convert neo4j return types to python types
我正在使用 py2neo,我想从查询 returns 中提取信息,以便我可以在 python 中使用它。例如,我有一个包含三个 "Person" 节点的数据库:
for num in graph.cypher.execute("MATCH (p:Person) RETURN count(*)"):
print num
输出:
>> count(*)
3
抱歉,格式很糟糕,它看起来与 mysql 输出基本相同。但是,我想使用数字 3 进行计算,但它的类型为 py2neo.cypher.core.Record
。如何将其转换为 python int 以便我可以使用它?从更一般的意义上讲,我应该如何处理密码查询,以便我得到的数据可以在 Python?
中使用
你能在 __str__()
方法上使用 int()、float() str() 来输出你想要的值吗?
graph.cypher.execute()
returns 一个 RecordList
包含多个 Records
。每个 Record
对应于你的 Cypher 查询结果的一行。
您的 RETURN count(*)
查询 returns 只有一行,因此 for num in ...
循环只会触及您的 RecordList
中的一个 Record
。
要从记录的列中获取数据,您可以使用索引或列名:
for num in ... :
your_count = num[0] # gets the first column
这应该是 int
,但您现在可以使用 float()
或 int()
.
将其转换为您需要的任何内容
您的查询returns只有一行一列。您可以将其缩短为:
your_count = graph.cypher.execute("MATCH (p:Person) RETURN count(*)")[0][0]
第一个 [0]
获得结果 RecordList
的第一个 Record
,第二个 [0]
获得 Record
的第一列。
我正在使用 py2neo,我想从查询 returns 中提取信息,以便我可以在 python 中使用它。例如,我有一个包含三个 "Person" 节点的数据库:
for num in graph.cypher.execute("MATCH (p:Person) RETURN count(*)"):
print num
输出:
>> count(*)
3
抱歉,格式很糟糕,它看起来与 mysql 输出基本相同。但是,我想使用数字 3 进行计算,但它的类型为 py2neo.cypher.core.Record
。如何将其转换为 python int 以便我可以使用它?从更一般的意义上讲,我应该如何处理密码查询,以便我得到的数据可以在 Python?
你能在 __str__()
方法上使用 int()、float() str() 来输出你想要的值吗?
graph.cypher.execute()
returns 一个 RecordList
包含多个 Records
。每个 Record
对应于你的 Cypher 查询结果的一行。
您的 RETURN count(*)
查询 returns 只有一行,因此 for num in ...
循环只会触及您的 RecordList
中的一个 Record
。
要从记录的列中获取数据,您可以使用索引或列名:
for num in ... :
your_count = num[0] # gets the first column
这应该是 int
,但您现在可以使用 float()
或 int()
.
您的查询returns只有一行一列。您可以将其缩短为:
your_count = graph.cypher.execute("MATCH (p:Person) RETURN count(*)")[0][0]
第一个 [0]
获得结果 RecordList
的第一个 Record
,第二个 [0]
获得 Record
的第一列。