假设我有一个JSON文件,如下所示,
{u'level': u'INFO',
u'message': {"method":"someMethod","params":{"frameId":"9.6","loaderId":"3.2","requestId":"4.6"}}
u'timestamp': 654789L}
为了将其解析为数据框,对于第一级,我可以执行data[1]['level']
,data[1]['message']
,data[1]['timestamp']
。但我想更深入地了解消息,我正在尝试,data[1]['message']['method']
或data[1]['message']['params']
这会让我犯错误。
TypeError: string indices must be integers
第一级和第二级之间的引号存在差异,其中第一级具有单引号,第二级具有双引号。谁能告诉我如何在这里达到方法或参数参数?将所有内容解析为数据框的最佳方法是什么?
由于
答案 0 :(得分:0)
您可以使用pandas.read_json
这将自动将文件读入DataFrame。
import pandas as pd
data = pd.read_json('test.json')
但您在问题中显示的数据不是有效的JSON格式。有关正确的格式,请参阅此example。要检查您的文件是否是有效的JSON格式,您还可以使用此validator。数据的有效JSON格式如下所示:
[{
"level": "INFO",
"message": [{
"method": "someMethod",
"params": [{
"frameId": "9.6",
"loaderId": "3.2",
"requestId": "4.6"
}]
}],
"timestamp": "654789 L"
}]