将pandas.io.json.json_normalize()与空列表属性

时间:2018-04-25 13:37:26

标签: python json pandas

我使用pandas.io.json.json_normalize()将一些json转换为数据帧,然后通过df.to_sql()将其推送到SQLite数据库。

但是,当我进行此操作时,我得到sqlite3.InterfaceError: Error binding parameter 1 - probably unsupported type.,我认为由于我的一个json字段是一个空数组。

我知道我可以将额外的路径参数传递给json_normalize,以使其获取数组值并使用父数据扩充行:

json_normalize(json_data, 'field_name_of_empty_array_value')

但是我不能在这个实例中使用它,因为数组是空的,因此它不返回任何值。

有没有办法将空列表值设置为None,或通过json_serialize函数序列化空列表?或者我是否需要在返回的dataFrame

上执行此操作

我想了解这是否可能的原因是在处理更难以json处理时可能会限制复杂性,lookbehind可能在其结构深处嵌套了空数组值。

我已经搜索了这个具体问题,但似乎无法找到处理此特定案例的示例,并且不确定docs是否涵盖了该问题。

由于

1 个答案:

答案 0 :(得分:0)

我相信这是不可能的。相反,我在完整的json_normalize对象上使用json,然后使用DataFrame操作根据需要进行拆分,然后通过json转换回df.to_json,并使用json_normalize使用不同的参数 - 特别是record_path参数,根据需要根据数组条目创建记录。