[英]Load json file with string into pandas dataframe in python
我有一个示例 json 数据集为:
['[{"id":"123","product":"dell","date":"2019-01-01","sales":5,"created_at":"2019-01-26 15:00:00"}, {"id":"124","product":"apple","date":"2019-01-02","sales":7,"created_at":"2019-01-27 15:00:00"}]']
I would like to create a pandas dataframe from this json data but when i use the json_normalize method i get AttributeError: 'str' object has no attribute 'values'.
预期的 output 应该是这样的:
id product date sales created_at
123. dell. 2019-01-01. 5. 2019-01-26 15:00:00
124. apple. 2019-01-02. 7. 2019-01-27 15:00:00
那是我得到 output 的时候,它是一个字符串列表
如果 json.load... 的结果就像
a = ['[{"id":"123","product":"dell","date":"2019-01-01","sales":5,"created_at":"2019-01-26 15:00:00"}, {"id":"124","product":"apple","date":"2019-01-02","sales":7,"created_at":"2019-01-27 15:00:00"}]']
然后再做一次...
>>> b = json.loads(a[0])
>>> b
[{'id': '123', 'product': 'dell', 'date': '2019-01-01', 'sales': 5, 'created_at': '2019-01-26 15:00:00'}, {'id': '124', 'product': 'apple', 'date': '2019-01-02', 'sales': 7, 'created_at': '2019-01-27 15:00:00'}]
>>> pd.DataFrame(b)
id product date sales created_at
0 123 dell 2019-01-01 5 2019-01-26 15:00:00
1 124 apple 2019-01-02 7 2019-01-27 15:00:00
>>>
不幸的是,您将无法提前知道您需要这样做。 您需要先检查数据。 除非你有幸拥有制作这些 json 的东西的规格。
import json
import pandas as pd
x = ['[{"id":"123","product":"dell","date":"2019-01-01","sales":5,"created_at":"2019-01-26 15:00:00"}, {"id":"124","product":"apple","date":"2019-01-02","sales":7,"created_at":"2019-01-27 15:00:00"}]']
# Take 0th element of list
x = x[0]
info = json.loads(x)
df = pd.json_normalize(info)
df
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.