2016-05-09 103 views
0

帮助我有一个JSON文件,我无法将它加载到python DataFrame中。 第一个问题应该可能是这实际上是一个json文件?是在网页上呈现图表时产生的文件,这是我从Chrome网络检查中提取的后端数据。JSON数据到Pandas DataFrame

看起来前面的代码不是JSON或不是表格,所以它搞乱了导入。下面

http://pastebin.com/ne4RRrgP

你能帮帮

加载文件中的蟒蛇

import json 
from pprint import pprint 
with open('data2.json') as data_file: 
    data = json.load(data_file) 

pprint(data) 

并打印数据,但我不能再转换为熊猫数据帧

编辑

好吧,这必须是JavaScript文件,我认为是JSON。

+0

JSON验证说,这是不正确的JSON([http://jsonlint.com/](http://jsonlint.com/))+你为什么要将那个巨大的html类字符串和JavaScript转换为数据框? –

+0

是否可以用这个数据添加'url' adrress来提问? – jezrael

+0

抱歉不可能,因为它是一个登录网站,不想分享密码。从日期和价格数据中生成图表。我已经搜索了图表是如何生成的并来到这张表格中,我假设它是json,它可能不是。事情是有可能在我需要删除的开始和结束额外的代码。所以这个文件,我发现检查数据加载到铬时,图表呈现 – nicktids

回答

1

只需使用pandas.read_json,这仅仅是围绕着JSON类的包装,但可以采取远程URL以及本地文件名:

import pandas as pd 
pandas_dataframe = pd.read_json('data2.json') 

希望有所帮助。

+0

不幸的是,它不工作,检查它:'print pd.read_json('http://pastebin.com/raw/ne4RRrgP')' – jezrael

+0

@jezrael使用“原始”链接 - 'pd.read_json('http://pastebin.com/raw/ne4RRrgP')' – hd1

+0

返回给我'ValueError:解码'串'时无法识别的转义序列 – jezrael

0

数据格式不正确我不得不编辑文本,然后它正确加载到熊猫。通过删除标题和反斜杠,因为它现在看起来像是一个带jason数据的ajax请求。

{"status": "success", "chart": "\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n<div id=\"id-freight-cash-prices-chart\" style=\"min-height: 480px\"></div>\n\n\n <script>\n  $(function() {\n\n   var series = [{\"type\": \"line\", \"data\": [{\"date\": 1262563200000, \"last\": \"319.00000\"}, {\"date\": 1262649600000, \"last\": \"318.00000\"}, {\"date\": 1262736000000, \"last\": \"320.00000\"}, {\"date\": 1262822400000, \"last\": \"321.00000\"}, 

感谢您的帮助