用NaN将Json读入Python和Pandas

时间:2015-04-26 08:10:24

标签: python json pandas nan

我知道JSON文件中不允许使用NaN。我通常使用

import pandas as pd 
pd.read_json('file.json') 

将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}]

如何将其读入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()

1 个答案:

答案 0 :(得分:7)

将json文件读入变量:

x = '''[{"city": "Los Angeles","job":"chef","age":30},  {"city": "New York","job":"driver","age":35},  {"city": "San Jose","job":"pilot","age":NaN}]'''

现在,使用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'}]

而且,

    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