用于从查询中提取数据的Python代码

时间:2017-07-11 23:51:58

标签: python client

我使用以下代码从查询中提取数据,但返回的是数据摘要而不是整个数据。在代码的最后一行中,70d显示最近70天的数据,但是在文件中提取和保存的内容只是摘要而不是整个9492行数据。你能帮我解决这个问题吗?

import influxdb
import pandas as pd

host = 'data.open-storm.org'
port = 8086
database = 'DFW'
username = 'grafana_daemon'
password = 'ExrcisWholesalEntranc'

client = influxdb.DataFrameClient(host=host, port=port, database=database, 
username=username, password=password)

with open('test.txt', 'w') as a:
    a.write('%s: 05' % client.query("SELECT value FROM maxbotix_depth WHERE 
    node_id='DFW007' AND time > now() - 70d"))

1 个答案:

答案 0 :(得分:1)

尝试将DataFrameClient替换为InfluxDBClient

DataFrameClient会返回一个pandas DataFrame。 display.max_rows默认的Pandas选项通常设置为60,这可能是您当前获得的行数。如果你能弄明白如何告诉InfluxDB设置它 pd.options.display.max_rows可以使用更高的值,并允许您继续使用DataFrameClient

另一方面,使用InfluxDBClient会返回一个完整的ResultSet,其中包含您期望的所有(约9492?)行。

希望这有帮助。