python - 如何将密码查询值存储到 python 函数内的变量中?
问题描述
我想存储我的 neo4j 数据库中数据的平均价格,然后我可以使用 python 变量来定义产品是便宜还是昂贵。
我已经有了密码查询,它为我提供了我数据库中所有服务的所有平均价格。现在我想将此查询结果存储到变量或列表中。所以我可以用它来定义价格是便宜还是昂贵(如果价格<=平均)它是便宜的,否则它是昂贵的。
def average(self):
query = '''
MATCH (p:Price)-[:COSTS]-(s:Service)
RETURN avg(toFloat(p.monthly)) AS Average, p.currency AS Currency, s.service_name AS Service
'''
return graph.run(query, average= self.Average, currency= self.Currency, service_name=self.Service )
谁能帮我解决这个问题?
解决方案
您的查询可以返回多行,因为它指定Currency
并Service
作为AVG
聚合函数的唯一分组键。所以average()
可能应该返回类似字典列表的东西。
该run()
函数返回一个Cursor,它具有一个data()函数,该函数将“将整个结果提取为字典列表”。
所以,这个版本average()
应该返回查询结果的字典列表:
def average(self):
query = '''
MATCH (p:Price)-[:COSTS]-(s:Service)
RETURN avg(toFloat(p.monthly)) AS Average, p.currency AS Currency, s.service_name AS Service
'''
return graph.run(query).data()
推荐阅读
- c - 缓冲区溢出漏洞实验室
- c++ - 检查输入是否成功
- powerbi - 如何使用 DAX 在 Power Bi 上定义新客户和现有客户?
- ios - Firebase Crashlytics 集成停留在“我们将监听您的应用程序与我们的服务器通信”。iOS
- javascript - 知道如何提取这个本地值并将其传递给另一个函数吗?
- java - 方向改变时如何将滚动垂直更改为水平?
- angular - 打字稿:“控制台”类型上不存在属性“时间日志”
- sql - 从 Spark SQL 生成 SQL
- ios - 在 Objective-C 中向 IBOutlet 添加 iOS 可用性检查
- python - 将字符串转换为数字时出现问题