Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在python中加载json文件_Python_Json_Pandas_Jupyter Notebook - Fatal编程技术网

无法在python中加载json文件

无法在python中加载json文件,python,json,pandas,jupyter-notebook,Python,Json,Pandas,Jupyter Notebook,我正试图使用pandas库的read_json()和python的内置json库从python中加载数据集,该库用于存储在我的计算机中的相同数据集(与我的笔记本相同的文件夹)。以下是我的代码: import json import pandas as pd path='https://s3.amazonaws.com/istarsshare/normround1.json' data=pd.read_json(path,orient='columns') data.head(10) 另一个是:

我正试图使用pandas库的read_json()和python的内置json库从python中加载数据集,该库用于存储在我的计算机中的相同数据集(与我的笔记本相同的文件夹)。以下是我的代码:

import json
import pandas as pd
path='https://s3.amazonaws.com/istarsshare/normround1.json'
data=pd.read_json(path,orient='columns')
data.head(10)
另一个是:

import json
with open("normround1.json", "r") as read_it: 
data = json.load(read_it) 
在第一种情况下,我得到了以下错误:

ValueError回溯(最后一次最近调用)
1路径:https://s3.amazonaws.com/istarsshare/normround1.json'
---->2 data=pd.read_json(路径,orient='columns')
3.数据标题(10)
4 35;用open(“norround1.json”,“r”)表示:
5#data=json.load(读取它)
读取json中的~/anaconda3/lib/python3.7/site-packages/pandas/io/json//u json.py(路径、方向、类型、数据类型、转换轴、转换日期、保留默认日期、numpy、精确浮点、日期单位、编码、行、块大小、压缩)
590返回json_读取器
591
-->592 result=json_reader.read()
593如果您应该关闭:
594尝试:
读取中的~/anaconda3/lib/python3.7/site-packages/pandas/io/json//u json.py(self)
715 obj=self.\u获取\u对象\u解析器(self.\u合并\u行(data.split(“\n”))
716其他:
-->717 obj=self.\u get\u object\u解析器(self.data)
718自我关闭()
719返回obj
~/anaconda3/lib/python3.7/site-packages/pandas/io/json//u json.py in\u get\u object\u解析器(self,json)
737 obj=无
738如果类型=“帧”:
-->739 obj=FrameParser(json,**kwargs.parse()
740
741如果类型==“系列”或obj为无:
解析中的~/anaconda3/lib/python3.7/site-packages/pandas/io/json//u json.py(self)
847
848其他:
-->849 self.\u parse\u no\u numpy()
850
851如果self.obj为无:
~/anaconda3/lib/python3.7/site-packages/pandas/io/json//u json.py in\u parse\u no\u numpy(self)
1091如果方向=“列”:
1092 self.obj=数据帧(
->1093加载(json,precise\u float=self.precise\u float),dtype=None
1094             )
1095 elif orient==“分割”:
ValueError:尾部数据
在第二种情况下,我得到:

---------------------------------------------------------------------------
中的JSONDecodeError回溯(最近一次调用)
3#数据头(10)
4以open(“norround1.json”,“r”)作为其读物:
---->5 data=json.load(读取它)
加载中的~/anaconda3/lib/python3.7/json/\uuuu init\uuuuuuu.py(fp、cls、对象钩子、解析浮点数、解析整型、解析常数、对象对钩子,**kw)
294 cls=cls,object\u hook=object\u hook,
295 parse_float=parse_float,parse_int=parse_int,
-->296 parse_常量=parse_常量,object_pairs_hook=object_pairs_hook,**千瓦)
297
298
加载中的~/anaconda3/lib/python3.7/json/\uuuu init\uuuuuuuuu.py(s、编码、cls、对象钩子、解析浮点数、解析整型、解析常数、对象对钩子,**kw)
346 parse_int为无,parse_float为无且
347 parse_常量为None且对象_pairs_hook为None且非kw):
-->348返回默认解码器。解码
349如果cls为无:
350 cls=JSONDecoder
解码中的~/anaconda3/lib/python3.7/json/decoder.py(self,s,_w)
338 end=_w(s,end).end()
339如果结束!=(s)
-->340 raise JSONDecodeError(“额外数据”,s,结束)
341返回obj
342
JSONDecodeError:额外数据:第2行第1列(字符161)

我在Ubuntu18.04中使用jupyter笔记本,它不是
JSON
文件,而是
multi-JSON
文件-每一行都是
JSON
数据

标准工具无法读取它,您必须单独获取每一行并作为
JSON

import json

data = []

with open('normround1.json') as fh:
    for line in fh:
        data.append(json.loads(line))

#print(data)
print(data[0]['_id'])
print(data[0]['message'])

我修复了文件进入vi,执行此操作(它在每行末尾添加一个逗号):


添加,然后在文件的开头添加一个[和结尾添加一个]。之后,我可以加载它。

首先检查文件中的内容。这似乎是不正确的json。我检查了文件-它不是json而是
multi-json
-每一行都是
json
。但是标准工具无法读取
多个JSON
,您必须分别获取每一行并作为
JSON
:%s/$/,/g