python - 使用具有空列表属性的 pandas.io.json.json_normalize()

标签 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它可能在其结构深处嵌套了空数组值。

我已经搜索了这个具体问题,但似乎找不到处理这个具体案例的示例,而且不确定 docs覆盖它。

谢谢

最佳答案

我认为这是不可能的。因此,我在完整的 json 对象上使用 json_normalize ,然后根据需要使用 DataFrame 操作进行拆分,然后再转换回 json 通过 df.to_json,并使用带有不同参数的 json_normalize - 具体来说,record_path 参数基于数组创建记录根据需要输入。

关于python - 使用具有空列表属性的 pandas.io.json.json_normalize(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50023807/

相关文章:

python - 使用 Panda 的 .at 函数修改多行

python - 基于数据帧中的值求和

javascript - Ruby 生成的 JSON 与 JavaScript 的 JSON 解析器不兼容

python - 使用 Python simplejson 返回预生成的 json

javascript - 命令提示符中的 json

python - 使用 python pandas 进行大文件分析的延迟

python - 从选定的 child 返回父标签属性

python - 我的 admin.TabularInline 类返回异常 : object has no attribute 'urls'

python - 使用带有多个映射函数的 pandas applymap()

python - 如何在 Pandas 中将面板与系列相乘