Я знаю, что были вопросы, похожие на этот, но я еще не смог понять, как делать то, что мне нужно. Я пытаюсь взять JSON и переместить его в Pandas DataFrame.
{
"friends": [
{
"name": "Joe Jimmy",
"timestamp": 1541547573
},
{
"name": "Steven Peterson",
"timestamp": 1541274647
}
]
}
Я бы хотел, чтобы соответствующий DataFrame выглядел так:
Name Timestamp
1 "Joe Jimmy" "1541547573"
2 "Stephen Peterson" "1541274647"
Я думаю, что проблема в первых вложенных «друзьях», но я не уверен, так как я новичок в JSON (и на самом деле Pandas).
Я пробовал ввести его через
with open('data.json') as f:
friends = json.load(f)
А затем перемещаю его в фрейм данных через конструктор Panadas DataFrame, но я не получаю ничего, кроме этого:
{'name': 'Brian B.S. Sheehan', 'timestamp': 15...}






Попробуй это. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.json.json_normalize.html Или просто используйте функцию read_json и используйте метод groupby
Попробуй это:
from pandas.io.json import json_normalize
from json import load
data_json = load(open("inp.json", "r"))
print(json_normalize(data_json,'friends'))
Я понял. Я просто внес его и использовал new_friends = pd.DataFrame (data ['friends']), чтобы получить второй уровень в DF. Это некрасиво, но сработало.
Я понимаю. Замечательно.
Вот решение с пандами read_json:
df = pd.read_json(r'C:\path\data.json')
df.friends.apply(pd.Series)
name timestamp
0 Joe Jimmy 1541547573
1 Steven Peterson 1541274647
Привет и добро пожаловать в SO. Чтобы повысить ваши шансы на получение ответа, я предлагаю вам взглянуть на как задать хороший вопрос и как создать Минимальный, полный и проверяемый пример. Это поможет вам получить необходимую помощь намного быстрее.