在数据框中读取JSON的Python

我有一个SQL数据库,它有两列。其中有时间戳,其他保存数据以JSON格式在数据框中读取JSON的Python

例如DF:

ts       data 

'2017-12-18 02:30:20.553' {'name':'bob','age':10, 'location':{'town':'miami','state':'florida'}}

'2017-12-18 02:30:21.101' {'name':'dan','age':15, 'location':{'town':'new york','state':'new york'}}

'2017-12-18 02:30:21.202' {'name':'jay','age':11, 'location':{'town':'tampa','state':'florida'}}

如果我做到以下几点:

df = df['data'][0] 

print (df['name'].encode('ascii', 'ignore'))

我得到:

'bob' 

有没有一种方法可以获取与整个列的JSON键相对应的所有数据?

(即用于DF列 '数据' GET '名')

'bob' 

'dan'

'jay'

基本上我希望能够使所谓的 '名'

回答:

您可以使用json_normalize

pd.io.json.json_normalize(df['data'])['name'] 

0 bob

1 dan

2 jay

Name: name, dtype: object

回答:

IIUC新的DF列,现在让我们使用apply与lambda函数来者皆选择字典值:

df['data'].apply(lambda x: x['name']) 

输出:

0 bob 

1 dan

2 jay

Name: data, dtype: object

以上是 在数据框中读取JSON的Python 的全部内容, 来源链接: utcz.com/qa/260650.html

回到顶部