Python Pandas 无法识别 JSON 文件

0 投票
1 回答
2699 浏览
提问于 2025-04-18 14:33

我正在尝试在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)

撰写回答