我正在从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
应用的解析。有什么办法可以改变这种情况,还是我需要找到其他阅读方式?