2014-07-24 6 views
0

일부 분석을 위해 Pandas에 JSON 데이터를로드하려고합니다.Python 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

JSON이 아니며, JSONP입니다. JSON "content"는 "function call"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) 
관련 문제