Я получил этот вложенный словарь от Google Analytics, он описывает, что пользователь сделал на моем сайте. Другими словами, это вся информация, которую я получаю за одного пользователя. У нас более 1000 пользователей, у каждого из которых есть словарь, похожий на этот:
{'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'},
{'activities': [{'activityTime': '2019-12-28T21:58:48.993944Z',
'activityType': 'PAGEVIEW',
'campaign': '(not set)',
.... etc
Я новичок в объектно-ориентированном программировании.
Я хотел бы создать класс, в котором я могу хранить эти данные для каждого пользователя под определенными атрибутами.
Например, что-то вроде этого:
class Session():
def __init__(self):
self.sessionId = "code to get this user's data from the nested dictionary"
self.deviceCategory = "code to get this user's data from the nested dictionary"
self.platform = "code to get this user's data from the nested dictionary"
self.dataSource = "code to get this user's data from the nested dictionary"
class Activity():
def __init__(self):
self.activityTime = "code to get this user's data from the nested dictionary"
self.hostName = "code to get this user's data from the nested dictionary"
self.landingPagePath = "code to get this user's data from the nested dictionary"
self.activityType = "code to get this user's data from the nested dictionary"
class Pageview():
def __init__(self):
self.pagePath = "code to get this user's data from the nested dictionary"
self.pageTitle = "code to get this user's data from the nested dictionary"
class Event():
def __init__(self):
self.eventCategory = "code to get this user's data from the nested dictionary"
self.eventAction = "code to get this user's data from the nested dictionary"
self.eventLabel = "code to get this user's data from the nested dictionary"
self.eventCount = "code to get this user's data from the nested dictionary"
user_list = ['12', '16', '28', '34']
for user in user_list:
getGoogleAnalytics = nestedDictionaryforUser(user) # this I can do
# now use this dictionary as data to add to the objects
# I don't know how to add each user's details to become an object I can work with later
Скорее всего, Я что-то упустил или моя структура класса совершенно неверна. Буду очень признателен за помощь.
Рад ответить на любые вопросы