plotly:TypeError:无法将dictionary update sequence元素0转换为sequen

2024-10-02 00:34:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我对目前正在进行的项目有问题,所以我留下一个问题。
当前内容由传感器以表格格式绘制。但是几天前,当我在做一些事情的时候,我不知道怎么解决它,所以我请求帮助。在

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")

在执行以下代码之后,发生了以下错误。在

^{pr2}$

在本例中,我使用plolty绘制图形的代码在从stream接收数据时没有问题,但是当我绘制table plot时。在

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


Tags: pyimportdatetimeastagtable绘制plotly
1条回答
网友
1楼 · 发布于 2024-10-02 00:34:17

此异常意味着您试图从iterable构造dict,而iterable的第一个元素不是序列。正如the docs所解释的那样,您可以通过两种方式构造dict:

  • 从地图上,或
  • 从键值对的iterable

所以,如果你试图用一组数字来构造它:

>>> dict({1, 2, 3})
TypeError: cannot convert dictionary update sequence element #0 to a sequence

…它试图将第一个元素用作键值对,即2个值的序列,但无法将数字1解释为键值对,因此它引发了一个TypeError。在


同时,除了this page上的内容,我对情节式流媒体一无所知,但这段代码显然是错误的:

^{pr2}$

我无法想象你为什么要流一组。在

另外,这些示例都有dict,或者是dict的JSON编码字符串

因此,很明显,这个API希望您将dict或您可以提供给dict构造函数的东西传递给它。但你给了它一套。因此,它将该集合提供给dict构造函数,并得到这个异常。在

既然我不知道你到底想在这里做什么,我也不知道你应该在这里发什么口述。但你绝对应该通过口试


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

Streaming is no longer supported in Plotly Cloud.

因此,如果您尝试使用Plotly Cloud的流式处理,那么,即使您修复代码使其有意义,也可能仍然会失败,只是Plotly的错误而不是传递无意义的TypeError。在

相关问题 更多 >

    热门问题