【问题标题】:Convert string to dictionary to dataframe将字符串转换为字典到数据框
【发布时间】:2020-10-28 12:06:08
【问题描述】:

我有如下字符串格式的数据:

data = '{"ResponseStatus":404,"TieredFill":false} \n{"ResponseStatus":404,"TieredFill":false}\n'

当我尝试将此数据转储到 JSON 时,它会被转换为一个空文件。 我是 Python 的初学者,所以想解决这个问题,我需要将字符串转换为字典,然后转换为数据框。

对此的任何输入或是否有另一种将字符串转换为 json 的方法都会有所帮助。

【问题讨论】:

  • 你从哪里得到 '\n' 字符?它是您从某个地方获得的数据的一部分吗?
  • 是的,这是我要处理的文件。这就像 b'{"ResponseStatus":404,"TieredFill":false} \n{"ResponseStatus":404,"TieredFill":false}\n'
  • 所以当你从文本编辑器打开文件时,你会看到b'{"ResponseStatus":404,"TieredFill":false} \n{"ResponseStatus":404,"TieredFill":false}\n?还是通过 Python 加载后的样子?
  • 当我在 Python 中加载时,它看起来像这样。这是一个 log.gz 文件
  • 尝试以下操作,看看数据是否开始看起来不同import gzip f = gzip.open('xxxx.gz', 'rb') data = f.read()

标签: python json string


【解决方案1】:

使用str.stripsplit

[json.loads(j) for j in data.strip().split("\n")]

输出:

[{'ResponseStatus': 404, 'TieredFill': False},
 {'ResponseStatus': 404, 'TieredFill': False}]

【讨论】:

    猜你喜欢
    • 2019-04-28
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2021-09-12
    • 1970-01-01
    • 2020-09-16
    相关资源
    最近更新 更多