У меня есть несколько точек данных JSON, которые выглядят примерно так:
[{'id': 36001, 'default': False, 'name': 'Production', 'raw_name': 'Production', 'value': 'production'}, {'id': 3600, 'default': False, 'name': 'Development', 'raw_name': 'Development', 'value': 'development'}, {'id': 36001, 'default': False, 'name': 'Staging', 'raw_name': 'Staging', 'value': 'staging'}]
[{'id': 36001, 'default': False, 'name': 'Add/Remove User', 'raw_name': 'Add/Remove User', 'value': 'req____add/remove_user'}, {'id': 36004, 'default': False, 'name': 'Add/Remove Subscription', 'raw_name': 'Add/Remove Subscription', 'value': 'req____add/remove_subscription'}, {'id': 36001, 'default': False, 'name': 'Other', 'raw_name': 'Other', 'value': 'other'}]
[{'id': 36002, 'default': False, 'name': '2', 'raw_name': '2', 'value': '2'}, {'id': 362, 'default': False, 'name': 'A', 'raw_name': 'A', 'value': 'a'}, {'id': 36001, 'default': False, 'name': 'B', 'raw_name': 'B', 'value': 'b'}, {'id': 36001, 'default': False, 'name': 'C', 'raw_name': 'C', 'value': 'c'}]
Я хочу нормализовать данные, и я попробовал это:
df1 = pd.DataFrame.from_dict(json_normalize(df1), orient='columns')
Это далоследующая ошибка:
'str' object has no attribute 'values'
Судя по моим исследованиям, это должно сработать.Я думаю, что мешает ему работать, так это то, что у меня есть куча строк только с этим: [] [] [] []
(каждая из этих 4 находится в разных строках фрейма данных).Как я могу исключить []
в каждой строке и нормализовать весь JSON в фрейме данных?
Например, если я сделаю это:
df1 = [{'id': 36001, 'default': False, 'name': 'Production', 'raw_name': 'Production', 'value': 'production'}, {'id': 3600, 'default': False, 'name': 'Development', 'raw_name': 'Development', 'value': 'development'}, {'id': 36001, 'default': False, 'name': 'Staging', 'raw_name': 'Staging', 'value': 'staging'}]
df2 = pd.DataFrame.from_dict(json_normalize(df1), orient='columns')
print(df2)
Я получу это:
default id name raw_name value
0 False 36001 Production Production production
1 False 3600 Development Development development
2 False 36001 Staging Staging staging
Это то, что я хочу закончить, но я получаю странные ошибки, и я думаю, что это из-за [] [] []
и т. Д., У меня есть десятки из них, все в отдельных строках, в моем фрейме данных.
Вот небольшой скриншот того, на что я смотрю в CSV-файле, который выкладывает мой код (я не знаю, как представить его в JSON; я просто вижу, как он выглядит вфайл CSV).
