Python Pandas无法识别JSON文件

时间:2014-07-24 04:02:24

标签: python json pandas jsonp

我试图在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 个答案:

答案 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)