首页 > 解决方案 > 如何将 JSON 的字节串读入 pandas

问题描述

我有一个 python 字节字符串,我想读入熊猫。文件类型是 NDJSON(换行符分隔的 json),pandas 将其读取为完全无效。

s = b'{"id": "01", "amount_usd": 16.44, "foo": 1462075200.0, "bar": 1462075200.0, "baz": "abc"}\n
{"id": "02", "amount_usd": 2.88, "foo": 1462075200.0, "bar": 1462075200.0, "sample": "def"}\n
...

我试过解码它并将其读入熊猫,如下所示:

s = s.decode("utf-8")
pd.read_json(s)

但这不起作用,因为 JSON 结构不是 pandas 所期望的。

我得到错误

ERROR - Trailing data

我怎样才能把这个结构读入熊猫?

标签: pythonjsonpandas

解决方案


是的,这不是有效的 JSON。如果它们真的被换行符分隔,你可以这样做

s = '[' + ','.join(s.rstrip().split('\n')) + ']'

把它变成一个列表。


推荐阅读