【发布时间】: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