熊猫读取json ValueError:协议未知

Jas*_*son 11 python pandas

不久前我运行了这些代码并且它起作用了,但现在有一个 ValueError: protocol not known。任何人都可以帮忙。谢谢。

import json
temp = json.dumps([status._json for status in tweet]) #create JSON
newdf = pd.read_json(temp, orient='records')
Run Code Online (Sandbox Code Playgroud)

小智 32

在我的情况下的解决方案包括使用StringIO如下:

from io import StringIO
newdf = pd.read_json(StringIO(temp))
Run Code Online (Sandbox Code Playgroud)

看起来pd.read_json在 Pandas 1.1 中不再接受简单的字符串。

  • 看起来 read_json 现在寻找类似文件的对象而不是类似字符串的对象。StringIO 为字符串提供了类似文件的接口。来自 pandas 文档:通过类文件对象,我们引用具有 read() 方法的对象,例如文件处理程序(例如通过内置 open 函数)或 StringIO。 (2认同)

Hen*_*ola 5

据我所知,这个问题是由熊猫的更新引起的。1.1.0 更新对 read_json 函数进行了一些更改。

将 pandas 版本设置为 1.0.5 时,我可以使我的代码正常工作

https://pandas.pydata.org/docs/whatsnew/v1.1.0.html