【问题标题】:Error 'str' object has no attribute 'values' pops up when using json_normalize使用 json_normalize 时弹出错误“str”对象没有属性“values”
【发布时间】:2021-11-15 14:06:57
【问题描述】:

我在 extra_data 列中有嵌套 json 的 DataFrame

My df

当我尝试使用 pd.json_normalize(transactions['extra_data']) 时,我得到一个 'str' object has no attribute 'values' 错误。 有没有办法解决这个问题?数据框直接取自数据库,所以不是 csv 文件或其他东西

【问题讨论】:

  • 如何从数据库中检索数据框?
  • 我在 Python 中使用 mysql.connector
  • extra_data 很可能是 str,而不是反序列化的 JSON。试试df['extra_data'] = df['extra_data'].apply(json.load)
  • 谢谢!以下代码工作得很好df['extra_data'] = df['extra_data'].apply(json.dumps) df['extra_data'] = df['extra_data'].apply(json.loads) df = pd.json_normalize(df['extra_data'])

标签: python json pandas dictionary json-normalize


【解决方案1】:

extra_data 列中最可能的值是str,而不是反序列化的 JSON。试试

import json

df['extra_data']  = df['extra_data'].apply(json.load)
df = pd.json_normalize(df['extra_data'])

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 2016-04-07
    • 2022-12-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2021-10-12
    • 2021-08-25
    相关资源
    最近更新 更多