用NaN将Json读入Python和Pandas

Max*_*Max 6 python json nan pandas

我知道在JSON文件中不允许使用NaN.我经常使用

import pandas as pd 
pd.read_json('file.json') 
Run Code Online (Sandbox Code Playgroud)

将JSON读入python.浏览文档,我没有看到处理该值的选项.

我有一个JSON文件,data.json,看起来像

[{"city": "Los Angeles","job":"chef","age":30},
 {"city": "New York","job":"driver","age":35},
 {"city": "San Jose","job":"pilot","age":NaN}]
Run Code Online (Sandbox Code Playgroud)

如何将其读入python/pandas并处理NaN值?

编辑:

下面的惊人答案!! 谢谢fixxxer !! 就这样记录下来,从一个单独的文件中读取它

import pandas as pd
import json

text=open('data.json','r')
x=text.read()

y=json.loads(x)
data=pd.DataFrame(y)
data.head()
Run Code Online (Sandbox Code Playgroud)

fix*_*xer 7

将json文件读入变量:

x = '''[{"city": "Los Angeles","job":"chef","age":30},  {"city": "New York","job":"driver","age":35},  {"city": "San Jose","job":"pilot","age":NaN}]'''
Run Code Online (Sandbox Code Playgroud)

现在,使用json.loads加载它

In [41]: import json

In [42]: y = json.loads(x)

In [43]: y
Out[43]: 
[{u'age': 30, u'city': u'Los Angeles', u'job': u'chef'},
 {u'age': 35, u'city': u'New York', u'job': u'driver'},
 {u'age': nan, u'city': u'San Jose', u'job': u'pilot'}]
Run Code Online (Sandbox Code Playgroud)

和,

    In [44]: pd.DataFrame(y)
Out[44]: 
   age         city     job
0   30  Los Angeles    chef
1   35     New York  driver
2  NaN     San Jose   pilot
Run Code Online (Sandbox Code Playgroud)