查询Influx数据库

时间:2018-05-17 21:09:07

标签: python influxdb influxdb-python

我有这个代码来查询涌入数据库,但它根本不起作用。这是python代码。

import os

from influxdb import InfluxDBClient

username = u'{}'.format(os.environ['INFLUXDB_USERNAME'])
password = u'{}'.format(os.environ['INFLUXDB_PASSWORD'])

client = InfluxDBClient(host='127.0.0.1', port=8086, database='data',
                        username=username, password=password)

result = client.query("SELECT P_askbid_midprice1 FROM 'DCIX_OB' WHERE time > '2018-01-01';")

我收到了以下错误,但目前还不清楚如何修复上面的代码。如果我使用带有SELECT P_askbid_midprice1 FROM 'DCIX_OB' WHERE time > '2018-01-01';的bash直接从Influxdb查询,它的效果非常好。

    Press ENTER or type command to continue
    Traceback (most recent call last):
      File "graph_influxdb.py", line 11, in <module>
        result = client.query("SELECT P_askbid_midprice1 FROM 'DCIX_OB' WHERE time > '2018-01-01';")


  File "/home/ubuntu/.local/lib/python3.5/site-packages/influxdb/client.py", line 394, in query
    expected_response_code=expected_response_code
  File "/home/ubuntu/.local/lib/python3.5/site-packages/influxdb/client.py", line 271, in request
    raise InfluxDBClientError(response.content, response.status_code)
influxdb.exceptions.InfluxDBClientError: 400: {"error":"error parsing query: found DCIX_OB, expected identifier at line 1, char 31"}

我该如何解决?

2 个答案:

答案 0 :(得分:2)

result = client.query(&#34; SELECT P_askbid_midprice1 FROM DCIX_OB WHERE time&gt;&#39; 2018-01-01&#39;&#34;)

这应该有效

答案 1 :(得分:0)

您也许可以对InfluxDB使用Pinform,它是一种ORM / OSTM(对象时间序列映射)。

它可以帮助设计架构以及构建普通查询或聚合查询。

nextQuestion = () => {
  this.setState({
    current: this.state.current + 1
    ...
  })
}

免责声明:我是该图书馆的作者