Python /熊猫:读取嵌套的JSON

时间:2018-11-13 15:33:59

标签: python json pandas

我正在从API读取数据表,该API以JSON格式返回数据,其中一列本身就是JSON字符串。我成功地为整个表创建了Pandas数据框,但是在读取它的过程中,JSON字符串中的双引号被转换为单引号,并且我无法解析嵌套的JSON。

我无法提供可复制的示例,但这是关键代码:

myResult = requests.get(myURL, headers = myHeaders).text
myDF = pd.read_json(myResult, orient = "records", dtype = {"custom": str}, encoding = "unicode_escape")

其中custom是嵌套的JSON字符串。尝试通过设置dtype和encoding参数来尝试,但我不能强迫Pandas在字符串中保留双引号。

那是从什么开始的:

"custom": {"Field1":"Value1","Field2":"Value2"}

以以下方式进入数据框:

{'Field1':'Value1','Field2':'Value2'}

我发现this question暗示建议为read_csv使用自定义解析器-但我看不到此选项可用于read_json

我发现了一些建议here,但我只能尝试手动替换双引号-这会引起新的错误,因为嵌套字段值本身包含撇号...

JSON字符串在myResult中的格式正确,因此问题在于read_json应用的解析。有什么办法可以改变这种情况,还是我需要找到其他阅读方式?

0 个答案:

没有答案