我试图在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间距格式?
答案 0 :(得分:1)
那不是JSON,而是JSONP。请注意,JSON“内容”包含在“函数调用”callbackWrapper(...)
中。来自维基百科文章:“对JSONP请求的响应不是JSON,并且未被解析为JSON”。
如果您已在文件jsonv3.json
中保存了JSONP响应,则可以剥离函数调用包装器并使用以下内容处理内容:
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)