问题标签 [influxdb-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
539 浏览

python - 如何将 json 文件解压缩到 Pandas 数据框中

我在将 localhost 上的 JSON 文件解压缩为结构化的 pandas DataFrame 时遇到问题

我已经尝试了几种技术,但我没有让数据框看起来像熊猫时间框架,以便我可以轻松地处理这些列。

我最初是这样开始的:

不幸的是,我无法以结构化的方式获得它。

这是我想要的输出:

这是 Json 文件的样子1https ://i.stack.imgur.com/DncBR.png

我还在这里上传了 JSON 文件:https ://gofile.io/?c=92CLRR

0 投票
1 回答
119 浏览

grafana - 在 python-influxDB-Grafana 堆栈中存储/显示每个时间戳的完整数据集

我正在设置一个 python-influxdb-grafana 堆栈来监控仪器。

目前,我能够收集数据,在 python 中处理它们,将处理后的输出发送到 influxdb,然后在 grafana 上显示。

现在我想知道是否可以在 grafana 中显示完整的最后一个数据集。

例如说我的仪器数据是高斯形的:类似于

  • 我可以拟合数据,例如获取 mu 和 sigma(本例中为 0 和 1),使用 influxdb python 库将它们发送到 influxdb,并在 grafana 中将它们显示为时间的函数。

  • 现在我想将整个数据集发送到 influxdb(例如每 10 分钟一个数据集)并在 grafana 中绘制它。理想情况下,在 grafana 上,我希望能够选择某个时间并绘制相应的高斯数据。

这可能吗?我不知道如何在 influxdb 数据库中存储这样一个“大”数据集,也不知道如何最终在 grafana 中绘制它。

0 投票
1 回答
253 浏览

python - 如何在 Python 3 的内部类中动态初始化对象?

我正在利用 InfluxDB 库的 SeriesHelper 对象(请查看 https://influxdb-python.readthedocs.io/en/latest/examples.html#tutorials-serieshelper)将一组数据点推送到 InfluxDB。SeriesHelper类必须被继承,子类需要初始化各种对象作为其元属性,从而覆盖 Parent 类中对象的默认值。

实际代码

这里的“series_name”对象在它作为脚本运行之前被初始化(硬编码)。我的用例是根据传递给此脚本的运行时参数初始化“series_name” 。我尝试定义一个全局变量,其值在运行时提供,并将该全局变量分配给下面的“series_name”,但徒劳无功。

有问题的代码

运行时看到的错误是

“NoneType”对象没有属性“格式”

它推断对象“series_name”未使用值初始化。有什么方法可以正确初始化它吗?

0 投票
1 回答
982 浏览

python - tutorial_server_data.py 错误 400:{“错误”:“部分写入:超出保留策略的点已删除 = 4320”}

链接:https ://github.com/influxdata/influxdb-python/blob/master/examples/tutorial_server_data.py

  • 这可能是一个初学者的问题。

我试图复制该示例,但是当我在终端中运行时,我收到了以下消息:

终端:

0 投票
1 回答
826 浏览

raspberry-pi - 如何使用一个 python 查询获取所有时间序列 Influxdb 条目?


我有一个关于将 Python 与 InfluxDB 一起使用的问题。我有多个 Rasperry PI 收集传感器的时间序列数据(如温度、湿度等)并将它们保存到我的 InfluxDB。现在我想使用另一个 PI 来访问该 Influxdata 并进行一些计算,例如那些时间序列的相似性。因为查询的数量有时会有所不同,所以我想动态地询问所有条目的列表,然后查询该数据。

我在这里做了那个非常有用的教程:https
://www.influxdata.com/blog/getting-started-python-influxdb/它声明使用

获取包含所有数据库的列表,在我的情况下返回:


我现在的目标是“深入”到sensordata数据库并获取这些数据库中包含的所有时间序列的列表,例如 RP1-Temperature1、RP2-Brightness1、.. 等等。

因此,为了清楚起见,我的魔术查询将包含我的查询和数据库的长度,并将返回一个包含时间序列名称和值的 python 字典。

提前致谢!!

0 投票
1 回答
189 浏览

database - 在 InfluxDB 序列中只选择第一个值的方法是什么?

我有一个测量表明改变 smth 状态的过程。系统每秒都会询问 smth 是否正在改变,如果是,它将 1 存储在 db 中,否则什么也没有。所以我有“一”的序列。 就像这里一样。点间距为1s

我只想获得每个“一个”序列的第一个点的时间。在这个特定的例子中,它将是

在红色方块中

有没有办法使用查询来做到这一点?或者可能是简单的python模式?

PSfirst()选择器需要GROUP BY,但我不能假设序列小于some_time_interval

0 投票
1 回答
82 浏览

python - InfluxDB 给了我一个关于日期查询的空列表(或生成器)

我正在尝试从日期到日期对 InfluxDB 进行简单查询,如下所示:

从理论上讲,这应该有效。在实践中,它给了我一个空列表(或者一个不返回任何内容的生成器,取决于我如何查询它),如果我只使用 now() - Xd 它可以工作(但它对于我需要做的事情来说太不精确了)。我试过使用单引号,双引号,我试过删除 T 和 Z,尝试不使用纳秒,只使用日期,没有完成日期......无论如何,它要么给我一个空列表,要么给我一个语法错误。如果我在整个查询中使用双引号,它也会给我一个语法错误。如果我在数据库名称上使用单引号,则会出现语法错误。我也尝试过epoch,没有运气。

可能是什么问题呢?我已经没有想法了,整整 4 天都在努力解决这个问题。PS 我在 MacOs 10.12.6 上使用 python 3.7、InfluxDB 1.7.9、InfluxDB Python Client 5.2.3。

0 投票
1 回答
254 浏览

python - InfluxDB - 在 Grafana 上工作但不在 Python 中的查询

我正在从 Grafana 尝试这个查询,它运行良好:SELECT * FROM "x" WHERE time > '2020-03-31' AND time < '2020-04-02'

问题是,在 python 中,我必须将查询格式化为字符串,并且遇到以下问题:

1)如果我在整行周围使用双引号,我会得到无效的语法,因为 FROM 字段已经需要双引号(如果我尝试在 FROM 字段周围使用单引号,我会得到 influxdb.exceptions.InfluxDBClientError: 400)

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

0 投票
1 回答
190 浏览

python-3.x - Cron 一个 Python3 脚本

我无法 cron 作业 python3 脚本,它不起作用,我尝试过:

我试图创建一个 .sh 文件,其中包含 :python3 /home/pi/pythons/bmp280_influxdb.py 和 cron .sh 文件,但它也不起作用。

我还尝试使 bmp280_influxdb.py 可执行chmod +x bmp280_influxdb.py*/1 * * * * /home/pi/pythons/bmp280_influxdb.py直接使用

知道 :

*/2 * * * * sh /home/pi/scripts/cputemp.sh作品

我不知道该怎么做

我对路径进行了三次检查,当我通过 python3 调用它时,scipt 可以工作

该脚本将传感器的数据发送到 influxdb :

0 投票
1 回答
600 浏览

python - 如何配置 chronograf 以在特定端口中运行?

我是 InfluxDB 的新手。

我已经安装了 InfluxDB 和 ChronografC:/InfluxDB/并创建了这个结构:

  • C:/InfluxDB/influx-data
  • C:/InfluxDB/influxdb
  • C:/InfluxDB/chronograf-1.8.4-1

我执行influxd.exe。一切正常我执行chronograf。一切还好

然而,当我在端口上运行 Jupyter 笔记本8888并尝试执行 chronograf 时,它会崩溃,因为它使用相同的端口。

我想将 chronograf 更改为另一个端口,例如8083.

我试图在 cmd: 中运行这个命令,chronograf -p=8083但它返回给我这个:

time="2020-05-28T12:02:41+02:00" level=error msg="Invalid basepath, must follow format \"/mybasepath\"" basepath=invalid component=server

我已阅读 Chronograf 的文档并发现:

  • --basepath= | -p 所有 chronograf 路由都将被挂载的 URL 路径前缀。环境变量:$BASE_PATH

但是我还是不明白指的是哪个URL,也不明白如何设置BASE_PATH...

我会欣赏一个带有“真实”网址而不是 /your_base_path 的具体示例,这无助于我理解。

先感谢您