在json单元中创建新列时,节点或字符串格式错误吗?

时间:2019-07-11 10:47:32

标签: python

我有一个带有“元数据”列的数据框,其数据为json。我需要创建一个新列,其中包含来自“区域”键的数据。

以下是样本数据集:

user_id    metadata
1          {"ipapiBody":{"body":{"ip":"47","city":"Manteswar","region":"West Bengal"},"latlng":"POINT(23)"}}'
2          {"ipapiBody":{"body":{"ip":"11","city":"Delhi"},"latlng":"POINT(433)"}}'
3          {"ipapiBody":{"body":{"ip":"196","region":"Gurgaon"},"latlng":"POINT(88)"}}'

我需要输出为:

user_id     region
1           West Bengal
2   
3           Gurgaon

我当前的代码:

def my_dic(data):
        bis = ast.literal_eval(data['metaData'])
        m = bis.get("region")
        return m

df['region'] = df.apply(my_dic, axis = 1)

错误:

  

('格式错误的节点或字符串:<_ast.Name对象位于0x7f39f4578048>',   '发生在索引0')

0 个答案:

没有答案