要在Python中读取InfluxDB数据库,您需要安装并导入InfluxDB Python客户端库。您可以使用pip命令安装此库。但是读取到的时间为UTC时区的数据,需要其他时区的话使用requests请求获取数据,可以按照自己想要的时区获取数据:
def get_database_data(q):
"""
查询数据库数据
:param q: 查询sql语句
:return: 返回查询到的数据列表
"""
url = "http://127.0.0.1:8086/query"
data = {
'u': 'admin',
'p': 'admin',
'db': 'db1',
'q': q
}
response = requests.post(url, data=data)
if response.status_code != 200:
raise
result = response.json()['results'][0]['series'][0]['values']
return result
q = f"SELECT * FROM other_table WHERE report_code='1' ORDER BY time DESC LIMIT 7 tz('Asia/Shanghai')"
注:其本质是按照时间戳在库里面存的原始数据,按照不同的时区去读取会生成不同时间对应的,但是值是固定的,只是时间是按照时区进行变化的。