如何将jsonreader对象转换为Python数据帧?

如何将jsonreader对象转换为Python数据帧?,python,json,pandas,Python,Json,Pandas,我有一个很大的Json文件。当我试图从熊猫中读取如下内容时,它失败了,内存错误 pd.read_json('http://10.10.10.10/rest/get_file.json') 所以我试着使用块大小。现在它返回jsonreader对象 pd.read_json('http://10.10.10.10/rest/get_file.json,orient=“records”,lines=True,chunksize=50) 出[3]: 如何将此json读取器转换为Dataframe?根

我有一个很大的Json文件。当我试图从熊猫中读取如下内容时,它失败了,内存错误


pd.read_json('http://10.10.10.10/rest/get_file.json') 所以我试着使用块大小。现在它返回jsonreader对象


pd.read_json('http://10.10.10.10/rest/get_file.json,orient=“records”,lines=True,chunksize=50) 出[3]:
如何将此json读取器转换为Dataframe?

根据pandas文档,您可以迭代json读取器


In [262]: jsonl = '''
   .....:     {"a": 1, "b": 2}
   .....:     {"a": 3, "b": 4}
   .....: '''
   .....: 

In [263]: df = pd.read_json(jsonl, lines=True)

In [264]: df
Out[264]: 
   a  b
0  1  2
1  3  4

In [265]: df.to_json(orient='records', lines=True)
Out[265]: '{"a":1,"b":2}\n{"a":3,"b":4}'

# reader is an iterator that returns `chunksize` lines each iteration
In [266]: reader = pd.read_json(StringIO(jsonl), lines=True, chunksize=1)

In [267]: reader
Out[267]: <pandas.io.json._json.JsonReader at 0x7f602de65520>

In [268]: for chunk in reader:
   .....:     print(chunk)
   .....: 
Empty DataFrame
Columns: []
Index: []
   a  b
0  1  2
   a  b
1  3  4


在[262]中:jsonl=''
…:{a:1,“b:2}
…:{a:3,“b:4}
.....: '''
.....: 
在[263]中:df=pd.read_json(jsonl,lines=True)
In[264]:df
Out[264]:
a b
0  1  2
1  3  4
在[265]中:df.to_json(orient='records',line=True)
Out[265]:“{a:1,“b:2}\n{a:3,“b:4}”
#reader是一个迭代器,每次迭代返回'chunksize'行
在[266]中:reader=pd.read_json(StringIO(jsonl),lines=True,chunksize=1)
在[267]中:读取器
出[267]:
In[268]:对于读取器中的块:
..:打印(块)
.....: 
空数据帧
列:[]
索引:[]
a b
0  1  2
a b
1  3  4

此快照来自官方文档

根据熊猫文档,您可以在Json阅读器上进行迭代


In [262]: jsonl = '''
   .....:     {"a": 1, "b": 2}
   .....:     {"a": 3, "b": 4}
   .....: '''
   .....: 

In [263]: df = pd.read_json(jsonl, lines=True)

In [264]: df
Out[264]: 
   a  b
0  1  2
1  3  4

In [265]: df.to_json(orient='records', lines=True)
Out[265]: '{"a":1,"b":2}\n{"a":3,"b":4}'

# reader is an iterator that returns `chunksize` lines each iteration
In [266]: reader = pd.read_json(StringIO(jsonl), lines=True, chunksize=1)

In [267]: reader
Out[267]: <pandas.io.json._json.JsonReader at 0x7f602de65520>

In [268]: for chunk in reader:
   .....:     print(chunk)
   .....: 
Empty DataFrame
Columns: []
Index: []
   a  b
0  1  2
   a  b
1  3  4


在[262]中:jsonl=''
…:{a:1,“b:2}
…:{a:3,“b:4}
.....: '''
.....: 
在[263]中:df=pd.read_json(jsonl,lines=True)
In[264]:df
Out[264]:
a b
0  1  2
1  3  4
在[265]中:df.to_json(orient='records',line=True)
Out[265]:“{a:1,“b:2}\n{a:3,“b:4}”
#reader是一个迭代器,每次迭代返回'chunksize'行
在[266]中:reader=pd.read_json(StringIO(jsonl),lines=True,chunksize=1)
在[267]中:读取器
出[267]:
In[268]:对于读取器中的块:
..:打印(块)
.....: 
空数据帧
列:[]
索引:[]
a b
0  1  2
a b
1  3  4
此快照来自官方文档