0

我对 Python 2.7 和 Plot.ly API 有以下问题,我不确定发生了什么以及问题出在哪里。在我写信给作者之前,我将尝试在这里提问。我有一个脚本可以扫描特定网站、它们的链接并分析内容(单词、计数等)。结果由 Plotly 绘制为条形图。一切正常,脚本每 30 分钟运行一次。但是每天都会发生几次,通过API处理数据上传的方法,比如response = py.plot([data]),说"ValueError: No JSON object could be decoded"data不是空的,计数工作正常)。我不明白的是:

1)几分钟前它正在使用相同的脚本代码

2) 我在变量中放入什么数据并不重要data(比如 x 和 y 的简单数字)

3) 出现上述错误后,发送并发布了数据,但描述符-布局(轴设置,标题,图形大小)没有,因为它们是在下一步中单独设置的,脚本在创建位置终止响应(我可以将它们合并在一起,但错误仍然出现,我想知道为什么)

4)当我创建带有基本示例的空 .py 文件时:

import plotly
py = plotly.plotly(username='someUname', key='someApiKey')
x0 = ['a', 'b', 'c'];
y0 = [20, 14, 23];
data = {'x': x0, 'y': y0,'type': 'bar'}
response = py.plot([data])
url = response['url']
filename = response['filename']

那么结果是一样的,准确的说是没有 JSON 对象可以被解码。

Traceback (most recent call last):
  File "<module1>", line 10, in <module>
  File "C:\Python27\lib\site-packages\plotly-0.4-py2.7.egg\plotly\plotly.py", line 69, in plot
    r = self.__makecall(args, un, key, origin, kwargs)
  File "C:\Python27\lib\site-packages\plotly-0.4-py2.7.egg\plotly\plotly.py", line 142, in __makecall
    r = json.loads(r.text)
  File "C:\Python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded 

数据已发布,但我无法设置布局。在字数统计脚本工作正常的时候,这段小示例代码也能正常工作。

有没有人有同样的经历?好吧,我不是编码专家,但似乎问题可能出在我的代码之外。或者,也许我错过了一些东西,无论如何我无法调试/理解原因。

谢谢你的提示

4

1 回答 1

1

Chris here, from Plotly. Thanks for reporting the issue. You definitely aren't doing anything wrong on your end! This error arises because of some transmission issue from plotly to your desktop. The API expects a string in JSON format from the plotly server but received something different. I'll look into it further. Definitely email me if it happens again! --chris[at]plot.ly

于 2013-07-11T06:23:20.200 回答