我使用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是否涵盖了该问题。
由于
答案 0 :(得分:0)
我相信这是不可能的。相反,我在完整的json_normalize
对象上使用json
,然后使用DataFrame
操作根据需要进行拆分,然后通过json
转换回df.to_json
,并使用json_normalize
使用不同的参数 - 特别是record_path
参数,根据需要根据数组条目创建记录。