我希望下面的python-script在执行到我的InfluxDB时发送数据。
但是,当我执行脚本时,出现一条错误消息,提示“ ValueError:太多值无法解包”。我在做什么错了?
if __name__ == "__main__":
import time
#foo = kamstrup()
foo = kamstrup(serial_port="/dev/ttyAMA0", baud_rate=1200)
for i in kamstrup_MC601_var:
x,u = foo.readvar(i)
print("%-25s" % kamstrup_MC601_var[i], x, u)
import requests
url_string = 'http://192.168.0.11:8086/write?db=test_kamstrup'
data_string = 'kamstrup_script,host=server01,region=us-west value={' + kamstrup_MC601_var[i], x, u + '}'
r = requests.post(url_string, data=data_string)
答案 0 :(得分:0)
错误可能从这里开始;
df$score == 0
您提供的分配器不足,无法分配数据
例如:
df$name == 'x'
您可以通过提供确切数量的变量来分配变量或使用以下变量来解决此问题:
x,u = foo.readvar(i)
这将获得第一个,并分配给>>> a=[1,2,3]
>>> x,y = a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)
,其余将作为列表分配给x, *u = foo.readvar(i)
。