【问题标题】:InfluxDB - query working on Grafana but not in PythonInfluxDB - 在 Grafana 上工作但不在 Python 中的查询
【发布时间】:2020-07-13 17:18:55
【问题描述】:

我正在尝试来自 Grafana 的此查询,它运行良好: SELECT * FROM "x" WHERE time > '2020-03-31' AND time

问题是,在python中我必须将查询格式化为字符串,我遇到了以下问题:

1) 如果我在整行周围使用双引号,我会得到无效的语法,因为 FROM 字段已经需要双引号(如果我尝试在 FROM 字段周围使用单引号,我会得到 influxdb.exceptions.InfluxDBClientError: 400)

2) 如果我在整行周围使用单引号,它会将日期视为 int 并返回无效语法

3) 如果我在整行中都不使用引号,我会得到无效的语法

4) 如果我在日期周围使用单双引号,则返回 0 个元素

5) 如果我使用单引号并用 str() 包裹日期,我会得到 0 个元素或语法错误,具体取决于是否仍在 str() 中使用引号

6) 如果我尝试将整行包含在 str() 中,则会出现语法错误

我尝试了所有这些: 结果 = client.query(q, chunked=True).get_points() 结果 = list(client.query(q, chunked=True).get_points())

如果可能,我更愿意使用该列表。 InfluxDB 1.7.9、Influx Python 客户端 5.2.3、Python 3.7、MacOs 10.12.6

【问题讨论】:

  • 固定使用:"SELECT * FROM \"x\" WHERE time > '2020-03-31' AND time

标签: python python-3.x database influxdb influxdb-python


【解决方案1】:

我不确定它是否有效,但您可以尝试使用三引号。单双引号混用的问题问here。

例子:

print(""" I'm "Bob" """)

在三重空格周围使用空格,否则会出错。

【讨论】:

  • 已经使用 \"x\" 和双引号修复了整个问题,请参见上面的 cmets。还是谢谢你!
猜你喜欢
  • 2021-12-22
  • 2014-10-04
  • 2022-01-16
  • 1970-01-01
  • 2013-03-14
  • 2015-05-17
  • 2020-05-14
  • 2023-04-05
  • 2014-09-07
相关资源
最近更新 更多