InfluxDB - запрос работает на Графане, но не в Python - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь выполнить этот запрос от Grafana, и он отлично работает: ВЫБЕРИТЕ * ОТ "x" ГДЕ время> '2020-03-31' И время <'2020-04-02' </p>

Проблема в python я должен отформатировать запрос как строку, и я сталкиваюсь со следующими проблемами:

1) если я использую двойные кавычки вокруг всей строки, я получаю неверный синтаксис, потому что поле FROM уже требуются двойные кавычки (и я получаю influenxdb.exceptions.InfluxDBClientError: 400, если я пытаюсь использовать одинарные кавычки вокруг поля FROM)

2) если я использую одинарные кавычки вокруг всей строки, он видит даты как int и возвращает неверный синтаксис

3) если я не использую кавычки по всей строке, я получаю недопустимый синтаксис

4) если я использую одинарные двойные кавычки вокруг дат, которые он возвращает 0 элементов

5) если я использую одинарные кавычки и перенести даты с помощью str (), я получу либо 0 элементов, либо синтаксическую ошибку в зависимости от того, все еще используют кавычки внутри str () или нет

6) если я пытаюсь обернуть всю строку в str (), я получаю синтаксическая ошибка

Я перепробовал все с обоими: result = client.query (q, chunked = True) .get_points () result = list (client.query (q, chunked = True) .get_points () )

Я бы предпочел использовать список, если это возможно. InfluxDB 1.7.9, Influx Python Клиент 5.2.3, Python 3.7, MacOs 10.12.6

1 Ответ

0 голосов
/ 02 апреля 2020

Я не уверен, что это может работать, но вы можете попробовать использовать тройные кавычки . Вопросы смешивания одинарных и двойных кавычек задавались здесь .

Пример:

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

Используйте пробелы вокруг тройного пробела, иначе вы получите ошибку.

...