Réamhrá
D'éirigh go han-mhaith le aimplitiúid mar uirlis anailísíochta táirge mar gheall ar a éascaíocht a bhaineann le socrú imeachta agus solúbthacht léirshamhlaithe. Agus go minic is gá do mhúnla sannachán féin a bhunú, úsáideoirí braisle, nó painéal a thógáil i gcóras BI eile. Ní féidir calaois den sórt sin a dhéanamh ach amháin le sonraí teagmhais amh ó Amplitude. Inseoidh an t-alt seo duit conas na sonraí seo a fháil le heolas cláir íosta.
Réamhriachtanais
- Tionscadal in Aimplitiúid ina bhfuil imeachtaí cumraithe i gceart cheana féin agus ina mbailítear staitisticí orthu
- Tá Python suiteáilte (táim ag obair i leagan 3.8.3), ar féidir leis an léitheoir ionchasach oibriú leis cheana féin ag leibhéal bunúsach ar a laghad
Teagasc
Céim 1. A fháil API-eochair agus rúnda-eochair
Chun sonraí a uaslódáil, ní mór duit eochair API agus eochair rúnda a fháil ar dtús.
Is féidir leat iad a fháil tríd an cosán seo a leanas a leanúint:
- “Bainistigh sonraí” (suite ag bun an scáileáin ar chlé)
- Roghnaigh an tionscadal atá ag teastáil óna ndéanfar sonraí a íoslódáil agus téigh chuige
- Sa roghchlár tionscadail a osclaíonn, roghnaigh "Socruithe tionscadail"
- Faighimid na teaghráin API-eochair agus rúnda-eochair, a chóipeáil agus a shábháil in áit shábháilte.
Gan cliceáil, is féidir leat an nasc a leanúint, a bhreathnaíonn mar seo go ginearálta:
analytics.amplitude.com/$$$$$$/manage/project/******/settings,
áit arb é $$$$$$ logáil isteach aimplitiúid d’eagraíochta, is é ****** uimhir an tionscadail
Céim 2: Seiceáil láithreacht na leabharlanna riachtanacha
Is é an dea-scéal ná gur beagnach cinnte go bhfuil na leabharlanna seo suiteáilte agat cheana féin nó go bhfuil siad íoslódáilte, ach ní mór duit seiceáil. Liosta iomlán na leabharlann a d’úsáid mé agus mé á scríobh (léirítear leaganacha i lúibíní nuair is cuí):
- iarratais (2.10.0) - iarratas a sheoladh trí api chun sonraí a fháil
- pandas (1.0.1) - json a léamh, fráma sonraí a chruthú agus ansin scríobh chuig comhad
- zipfile - sliocht comhaid ó chartlann a fuarthas tríd an API
- gzip - comhaid json á ndíphacáil ó .gz
- os - liosta comhad a fháil ó chartlann neamhphacáilte
- am - roghnach, tomhas am rith an script
- tqdm - roghnach, chun monatóireacht éasca a dhéanamh ar dhul chun cinn próiseála comhaid
Céim 3. Scríobh script luchtaithe sonraí
Leid: tá an script íoslódála iomlán ag deireadh an ailt; más mian leat, is féidir leat é a ghlacadh láithreach agus tagairt a dhéanamh do na míniúcháin céim ar chéim más gá.
Céim 3.1. Leabharlanna a allmhairiú
Allmhairímid na leabharlanna go léir atá liostaithe sa dara céim.
# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
Céim 3.2. Iarratas a chur isteach chuig Amplitude
A ligean ar a bhrath tús fhorghníomhú script agus é a scríobh chuig athróg a.
tá startdate agus enddate freagrach as an tréimhse chun sonraí a íoslódáil agus tá siad ionsuite i dtéacs an iarratais a cuireadh chuig an bhfreastalaí Aimplitiúid; chomh maith leis an dáta, is féidir leat an uair a shonrú freisin tríd an luach a athrú tar éis 'T' san iarraidh.
api_key agus secret_key fhreagraíonn do na luachanna a fuarthas sa chéad chéim;
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'
api_key = 'kldfg844203rkwekfjs9234'
secret_key = '094tfjdsfmw93mxwfek'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')
Céim 3.3. Íoslódáil cartlann le sonraí
Tagann muid suas le hainm don chartlann agus scríobhaimid chuig an athróg ainm comhaid é. Ar mhaithe le mo chaoithiúlacht, cuirim an tréimhse + in iúl gur sonraí aimplitiúid é seo. Ansin, déanaimid taifead ar an bhfreagra a fuarthas ó Amplitude isteach sa chartlann.
# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
code.write(response.content)
print('2. Архив с файлами успешно скачан')
Céim 3.4. Comhaid a aisghabháil ó fhillteán ar do ríomhaire
Tagann an leabharlann zipfile i bhfeidhm chun cabhrú le comhaid a bhaint. Sa tríú líne, bí cúramach agus scríobh síos do chosán áit a bhfuil sé níos áisiúla duit a bhaint.
# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)
Céim 3.5. comhshó json
Tar éis duit na comhaid a bhaint as an gcartlann, ní mór duit comhaid json a thiontú i bhformáid .gz agus iad a scríobh isteach i bhfráma sonraí le haghaidh tuilleadh oibre.
Tabhair faoi deara le do thoil gur gá duit an cosán a athrú arís chuig do cheann féin, agus in ionad 000000 scríobh uimhir do thionscadail ó Aimplitiúid (nó oscail de láimh an cosán inar baineadh an chartlann agus féach ar ainm an fhillteáin taobh istigh).
In ord:
Comhadlann a scríobh chuig athróg, liosta comhad a fháil ó eolaire, fráma sonraí folamh a chruthú, time.sleep(1) le go n-oibreoidh tqdm i gceart, laistigh den lúb osclaíonn muid comhaid .gz agus úsáidimid pandas láithreach chun json a léamh agus a líonadh an fráma sonraí a thugtar.
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'\000000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
Céim 3.6. Scríobh fráma sonraí i excel
Níl sa uaslódáil go excel ach sampla anseo. I go leor cásanna, tá sé níos áisiúla oibriú leis an bhfráma sonraí taobh istigh de python nó na sonraí a chur i stóráil.
Beidh ort freisin do chonair uaslódála sonraí a athsholáthar le do chuid féin.
# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)
Céim 3.7. Déanaimid am reatha na scripte a chomhaireamh
An t-am reatha a thaifeadadh san athróg b, ríomh an difríocht agus líon na nóiméad, ag taispeáint na miontuairiscí iomlána. Is é seo an chéim dheireanach.
b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))
Conclúid
Is féidir leat an tábla a ghlaoch agus tosú ag obair leis trí ghlao a chur ar an athróg amplitude_dataframe inar scríobhadh na sonraí. Beidh thart ar 50 colún ann, agus úsáidfidh tú i 80% de na cásanna: event_type - ainm an imeachta, event_properties - paraiméadair imeachta, event_time - am imeachta, uuid - aitheantas an chliaint, user_properties - paraiméadair chliaint, ba cheart duit tosú ag obair leo ar dtús . Agus tú ag déanamh comparáide idir figiúirí ó do ríomh féin agus táscairí ó na deais Aimplitiúid, ní mór duit dearmad a dhéanamh go n-úsáideann an córas a mhodheolaíocht féin chun cliaint / tonnadóirí uathúla, etc. a ríomh, agus sula ndéanann tú é seo, ba cheart duit an doiciméadú Aimplitiúid a léamh go cinnte.
Go raibh maith agat as do aird! Anois is féidir leat sonraí imeachta amh a uaslódáil chuig Aimplitiúid agus iad a úsáid go hiomlán i do chuid oibre.
Script iomlán:
# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'
api_key = 'd988fddd7cfc0a8a'
secret_key = 'da05cf1aeb3a361a61'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')
# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
code.write(response.content)
print('2. Архив с файлами успешно скачан')
# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'\000000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)
b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))
Foinse: will.com
