Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用JSON将JSONL键展开到列中_Python_Json_Pandas - Fatal编程技术网

Python 用JSON将JSONL键展开到列中

Python 用JSON将JSONL键展开到列中,python,json,pandas,Python,Json,Pandas,我试图用Python的pandas读取jsonl文件,但不知道如何处理json键 我正在做的是: pd.read_json('jsonfile', lines=True) 我得到的结果是: ID COL1 COL2 COL3 0 12047 93947 {'A': '001', 'B': '"002"'} 1 83621 24013 {'H': '101', 'J': 'TTA', 'K': 'TTB'} 也就是说,COL3中的条目是可以有不同键的JSO

我试图用Python的pandas读取jsonl文件,但不知道如何处理json键

我正在做的是:

pd.read_json('jsonfile', lines=True)
我得到的结果是:

ID  COL1    COL2    COL3
0   12047   93947   {'A': '001', 'B': '"002"'}
1   83621   24013   {'H': '101', 'J': 'TTA', 'K': 'TTB'}
也就是说,
COL3
中的条目是可以有不同键的JSON

如何在列中转换
COL3
中的键?由于某些行没有新生成的列的值,因此理想情况下,我更喜欢这样:

ID  COL1    COL2    A      B       H    J      K
0   12047   93947  '001'  '"002"'  NA   NA     NA
1   83621   24013   NA     NA     '101' 'TTA' 'TTB'
您可以使用:

df=df.join(df.pop('COL3').apply(pd.Series))
print(df)
或:

如果
COL3
不是实际的dict,您应该首先通过以下方式将其转换为dict:

df.COL3=df.COL3.apply(ast.literal_eval)
df.COL3=df.COL3.apply(ast.literal_eval)