gpt4 book ai didi

python - plotly :类型错误:无法将字典更新序列元素#0 转换为序列

转载 作者:行者123 更新时间:2023-12-04 01:32:38 24 4
gpt4 key购买 nike

我目前正在进行的项目有问题,所以我留下了一个问题。
当前内容由传感器以表格形式绘制。但是前几天,当我在做某事时,我不知道如何解决它,所以我寻求帮助。

import plotly.plotly as py
import plotly.figure_factory as ff
from bluepy import sensortag
import sys
import time
import datetime
import numpy as np

py.sign_in("smrlswja9963","94b4enXKYqyOu4iuPDGG")

time.sleep(1.0)

tag = sensortag.SensorTag('24:71:89:CC:53:00')
tag.IRtemperature.enable()
tag.humidity.enable()

stream1=py.Stream('liz9v2c0or')
stream1.open()

i=0
while True:
now = datetime.datetime.now()
dateTime = now.strftime("%Y-%m-%d %H:%M:%S")

A = tag.IRtemperature.read()
B = tag.humidity.read()
tempt=A[0]
humty=B[0]

stream1.write({dateTime,tempt,humty})

i+=1

tag.waitForNotifications(3.0)

table = go.Table(
header=dict(values=["dateTime","tempt","humty"]),
cells=dict(values=[[dateTime],[tempt],[humty]]),
stream = dict(token='liz9v2c0or',))

data=[table]
py.iplot(table, filename="latex table")

执行以下代码后,出现如下错误。
Traceback (most recent call last):
File "/home/pi/do it.py", line 27, in <module>
stream1.write({dateTime,tempt,humty})
File "/usr/local/lib/python2.7/dist-packages/plotly/plotly/plotly.py", line 632, in write
stream_object.update(trace)
TypeError: cannot convert dictionary update sequence element #0 to a sequence

在这种情况下,我使用 polty 绘制图形的代码在从流接收数据时没有问题,但是当我绘制表格图时。

我怎么能在这里画图?
我真的很好奇。请告诉我。

最佳答案

此异常意味着您正在尝试从可迭代对象构建 dict,并且可迭代对象的第一个元素不是序列。如 the docs解释一下,您可以通过两种方式构建字典:

  • 来自映射,或
  • 来自可迭代的键值对

  • 因此,如果您尝试从一组数字构建它:
    >>> dict({1, 2, 3})
    TypeError: cannot convert dictionary update sequence element #0 to a sequence

    ...它试图将第一个元素用作键值对(即 2 个值的序列),但无法解释数字 1作为键值对,所以它引发了 TypeError .

    同时,我对 Plotly 流媒体一无所知,但我对 this page 上的内容一无所知。 ,但这段代码显然是错误的:
    stream1.write({dateTime,tempt,humty})

    我无法想象你为什么要播放一组。

    另外,这些示例都有一个 dict 或一个 JSON 编码的 dict 字符串。

    因此,显然,该 API 期望您将 dict 或您可以提供给 dict 构造函数的内容传递给它。但是你传递了一个集合。因此,它将该集合提供给 dict 构造函数,并获得此异常。

    因为我不知道你在这里真正想做什么,我不知道你应该在这里发送什么命令。但是你绝对应该通过一个字典。

    此外,即使您修复了此问题,基于 sign_in调用,看起来您正在使用 Plotly Cloud。但是,正如同一页所说:

    Streaming is no longer supported in Plotly Cloud.



    因此,如果您尝试将流式传输与 Plotly Cloud 一起使用,那么即使您修复了代码以使其有意义,它也可能仍然会失败,只是来自 Plotly 的错误而不是 TypeError关于通过废话。

    关于python - plotly :类型错误:无法将字典更新序列元素#0 转换为序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51220615/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com