У меня простая проблема. Я новичок в объектно-ориентированном программировании. У меня есть один большой список вложенных словарей, который должен быть представлен в нескольких таблицах. Чего я не понимаю, так это как я могу использовать объекты, чтобы сделать это проще.
Я получаю данные Google Analytics для каждого пользователя.
LOGI C МОЕГО КОДА:
- получить данные для одного пользователя (эти данные имеют следующий формат:
{'sampleRate': 1,
# Pageview activity
'sessions': [{'activityTime': '2020-01-08T15:48:38.012671Z',
'activityType': 'PAGEVIEW',
'campaign': '(not set)',
'channelGrouping': 'Direct',
'customDimension': [{'index': 1}],
'hostname': 'company.domain.com',
'keyword': '(not set)',
'landingPagePath': '/login',
'medium': '(none)',
'pageview': {'pagePath': '/login',
'pageTitle': 'titleofthepage'},
'source': '(direct)'},
# Event activity
{'activityTime': '2020-01-08T15:48:37.915105Z',
'activityType': 'EVENT',
'campaign': '(not set)',
'channelGrouping': 'Direct',
'customDimension': [{'index': 1}],
'event': {'eventAction': 'Successfully Logged '
'In',
'eventCategory': 'Auth',
'eventCount': '1',
'eventLabel': '(not set)'},
'hostname': 'company.domain.com',
'keyword': '(not set)',
'landingPagePath': '/login',
'medium': '(none)',
'source': '(direct)'}]
'dataSource': 'web',
'deviceCategory': 'desktop',
'platform': 'Windows',
'sessionDate': '2020-01-08',
'sessionId': '1578491317'}
(Это, вероятно, где я могу реализовать объектно-ориентированное программирование) Теперь я перебираю список пользователей и сохраняю выходные данные каждого пользователя (в формате, указанном в шаге 1) в списке Это создает один большой список шагов1
ЧТО Я ХОЧУ:
Мне нужны две таблицы в конце дня, чтобы выполнять запросы с Peewee:
Таблица 1:
SessionId User dataSource deviceCategory platform sessionDuration
12345 123 web desktop windows 00:15:12
14824 188 web desktop Linux 01:04:48
...
Таблица 2:
ActivityTime Session pageTitle pagePath EventCategory eventCount eventLabel eventAction
20:30:12 12345 domain webpage NaN NaN NaN NaN
20:45:47 12345 NaN NaN Aut 1 (not_set) LoggedIn
21:12:48 14824 NaN NaN Aut 2 (not_set) LoggedIn
На самом деле я не знаю, как к этому подойти .. потому что я знаю, что объектно-ориентированное программирование / ORM может сделать это чище и намного сильнее Pythioni c. Я не ожидаю кода в качестве ответа, потому что вопрос довольно расплывчатый, но любая логика c поможет. Кажется, я не могу найти способ сделать это 1031