Python Pandas 无法识别 JSON 文件
我正在尝试在Pandas中加载JSON数据,以便进行一些分析。
这是我正在分析的数据的一个例子。
http://data.ncaa.com/jsonp/game/football/fbs/2013/08/31/wyoming-nebraska/field.json
我尝试了以下方法:
import json
import pandas as pd
from pandas import DataFrame
json_data = pd.read_json('jsonv3.json')
还有
import json
import pandas
from pprint import pprint
json_data=open('jsonv3.json')
data = json.load(json_data)
pprint(data)
json_data.close()
结果出现的错误如下:
1) ValueError: 期望一个对象或值
2) ValueError: 无法解码JSON对象
我不太明白为什么JSON文件没有被识别。
我已经在http://jsonformatter.curiousconcept.com/上确认过它是有效的JSON。我真的不知道该如何调试这个问题。我找不到任何信息。这个错误可能是因为JSON的空格格式吗?
1 个回答
1
这不是JSON,而是JSONP。注意,这里的JSON“内容”被包裹在一个“函数调用”callbackWrapper(...)
中。根据维基百科的说法:“对JSONP请求的响应不是JSON,也不会被当作JSON解析。”
如果你把JSONP的响应保存到了文件jsonv3.json
中,你可以去掉这个函数调用的包裹,然后用下面这样的方式处理内容:
import json
with open('jsonv3.json', 'r') as f:
response = f.read()
start = response.find('(')
end = response.rfind(')')
json_content = response[start+1:end]
data = json.loads(json_content)