API เดตเดดเดฟ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต

เด†เดฎเตเด–เด‚

เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เด‡เดตเดจเตเดฑเต เดธเดœเตเดœเต€เด•เดฐเดฃเดตเตเด‚ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฃ เดตเดดเด•เตเด•เดตเตเด‚ เด•เดพเดฐเดฃเด‚ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เด’เดฐเต เด‰เตฝเดชเตเดชเดจเตเดจ เด…เดจเดฒเดฟเดฑเตเดฑเดฟเด•เตโ€Œเดธเต เด‰เดชเด•เดฐเดฃเดฎเดพเดฏเดฟ เดธเตเดตเดฏเด‚ เดคเต†เดณเดฟเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดทเตป เดฎเต‹เดกเตฝ, เด•เตเดฒเดธเตเดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต BI เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เด’เดฐเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดฟเดต เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด…เดธเด‚เดธเตโ€Œเด•เตƒเดค เด‡เดตเดจเตเดฑเต เดกเดพเดฑเตเดฑ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเตเดคเดฐเดฎเตŠเดฐเต เดคเดŸเตเดŸเดฟเดชเตเดชเต เดจเดŸเดคเตเดคเดพเตป เด•เดดเดฟเดฏเต‚. เด•เตเดฑเดžเตเดž เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เด…เดฑเดฟเดตเต‹เดŸเต† เดˆ เดกเดพเดฑเตเดฑ เดŽเด™เตเด™เดจเต† เดจเต‡เดŸเดพเดฎเต†เดจเตเดจเต เดˆ เดฒเต‡เด–เดจเด‚ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚.

เดฎเตเตปเดตเตเดฏเดตเดธเตเดฅเด•เตพ

  1. เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต, เด‡เดตเดจเตเดฑเตเด•เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดถเดฐเดฟเดฏเดพเดฏเดฟ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด…เดตเดฏเตเดŸเต† เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
  2. เดชเตˆเดคเตเดคเตบ เด‡เตปเดธเตโ€Œเดฑเตเดฑเดพเตพ เดšเต†เดฏเตโ€Œเดคเต (เดžเดพเตป 3.8.3 เดชเดคเดฟเดชเตเดชเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต), เดธเดพเดงเตเดฏเดคเดฏเตเดณเตเดณ เดตเดพเดฏเดจเด•เตเด•เดพเตผเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด’เดฐเต เด…เดŸเดฟเดธเตเดฅเดพเดจ เดคเดฒเดคเตเดคเดฟเดฒเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ

เด˜เดŸเตเดŸเด‚ 1. API-เด•เต€เดฏเตเด‚ เดฐเดนเดธเตเดฏ เด•เต€เดฏเตเด‚ เดจเต‡เดŸเตเดจเตเดจเต

เดกเดพเดฑเตเดฑ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เด’เดฐเต API เด•เต€เดฏเตเด‚ เดฐเดนเดธเตเดฏ เด•เต€เดฏเตเด‚ เดจเต‡เดŸเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดพเดค เดชเดฟเดจเตเดคเตเดŸเตผเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚:

  1. โ€œเดกเดพเดฑเตเดฑ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเด•โ€ (เดธเตโ€Œเด•เตเดฐเต€เดจเดฟเดจเตเดฑเต† เดคเดพเดดเต† เด‡เดŸเดคเตเดตเดถเดคเตเดคเต เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต)
  2. เดกเดพเดฑเตเดฑ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•
  3. เดคเตเดฑเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฎเต†เดจเตเดตเดฟเตฝ, "เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ" เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•
  4. เดžเด™เตเด™เตพ API-เด•เต€เดฏเตเด‚ เดฐเดนเดธเตเดฏ-เด•เต€ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ, เด…เดต เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏ เดธเตเดฅเดฒเดคเตเดคเต เดชเด•เตผเดคเตเดคเดฟ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต†, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเดฟเด™เตเด•เต เดชเดฟเดจเตเดคเตเดŸเดฐเดพเด‚, เด…เดคเต เดชเตŠเดคเตเดตเต† เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:
analytics.amplitude.com/$$$$$$$/manage/project/******/settings,
เด‡เดตเดฟเดŸเต† $$$$$$ เดŽเดจเตเดจเดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดฅเดพเดชเดจเดคเตเดคเดฟเดจเตเดฑเต† เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เดฒเต‹เด—เดฟเตป เด†เดฃเต, ****** เดŽเดจเตเดจเดคเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดจเดฎเตเดชเตผ เด†เดฃเต

เด˜เดŸเตเดŸเด‚ 2: เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต

เดˆ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒ เดตเดพเตผเดคเตเดค, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŽเดดเตเดคเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต เดžเดพเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต (เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด‡เดŸเด™เตเด™เดณเดฟเตฝ เดชเดฐเดพเตปเดคเต€เดธเดฟเดธเดฟเดฒเต† เดชเดคเดฟเดชเตเดชเตเด•เตพ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต):

  1. เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ (2.10.0) - เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต api เดตเดดเดฟ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต
  2. pandas (1.0.1) - json เดตเดพเดฏเดฟเด•เตเด•เตเด•, เด’เดฐเต เดกเดพเดฑเตเดฑเดพเดซเตเดฐเต†เดฏเดฟเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•, เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเด•
  3. zipfile - API เดตเดดเดฟ เดฒเดญเดฟเดšเตเดš เด’เดฐเต เด†เตผเด•เตเด•เตˆเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเดฏเดฒเตเด•เตพ เดŽเด•เตเดธเตเดŸเตเดฐเดพเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
  4. gzip - .gz-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ json เดซเดฏเดฒเตเด•เตพ เด…เตบเดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเต
  5. os - เดชเดพเดฏเตเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเดคเตเดค เด†เตผเด•เตเด•เตˆเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
  6. เดธเดฎเดฏเด‚ - เด“เดชเตเดทเดฃเตฝ, เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏเด‚ เด…เดณเด•เตเด•เตเด•
  7. tqdm - เด“เดชเตเดทเดฃเตฝ, เดซเดฏเตฝ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดชเตเดฐเต‹เด—เดคเดฟ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต

เด˜เดŸเตเดŸเด‚ 3. เด’เดฐเต เดกเดพเดฑเตเดฑ เดฒเต‹เดกเดฟเด‚เด—เต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŽเดดเตเดคเตเดจเตเดจเต

เดธเต‚เดšเดจ: เดฎเตเดดเตเดตเตป เดกเต—เตบเดฒเต‹เดกเต เดธเตโ€Œเด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเตเด‚ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเดคเตเดคเดฟเดฒเดพเดฃเต; เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด‰เดŸเดจเดŸเดฟ เดŽเดŸเตเดคเตเดคเต เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เด˜เดŸเตเดŸเด‚ เด˜เดŸเตเดŸเดฎเดพเดฏเตเดณเตเดณ เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•.

เด˜เดŸเตเดŸเด‚ 3.1. เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดฐเดฃเตเดŸเดพเด‚ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดฒเดฟเดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเด‚ เดžเด™เตเด™เตพ เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

# ะ˜ะผะฟะพั€ั‚ ะฑะธะฑะปะธะพั‚ะตะบ
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm

เด˜เดŸเตเดŸเด‚ 3.2. เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเดฟเดจเต เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดจเดฎเตเด•เตเด•เต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเดจเตเดฑเต† เด†เดฐเด‚เดญเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ เด…เดคเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดพเด‚ a.

เด†เดฐเด‚เดญ เดคเต€เดฏเดคเดฟเดฏเตเด‚ เด…เดตเดธเดพเดจ เดคเต€เดฏเดคเดฟเดฏเตเด‚ เดกเดพเดฑเตเดฑ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เดพเดฒเดฏเดณเดตเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดšเตเดš เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดตเดพเดšเด•เดคเตเดคเดฟเตฝ เด…เดจเตเดคเตผเดจเดฟเตผเดฎเตเดฎเดฟเดคเดฎเดพเดฃเต; เดคเต€เดฏเดคเดฟเด•เตเด•เต เดชเตเดฑเดฎเต‡, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเต† 'T' เดจเต เดถเต‡เดทเดฎเตเดณเตเดณ เดฎเต‚เดฒเตเดฏเด‚ เดฎเดพเดฑเตเดฑเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

api_key, secret_key เดŽเดจเตเดจเดฟเดต เด†เดฆเตเดฏ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดฒเดญเดฟเดšเตเดš เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต; เดธเตเดฐเด•เตเดทเดพ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ, เดŽเดจเตเดฑเต‡เดคเดฟเดจเต เดชเด•เดฐเด‚ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เด•เตเดฐเดฎเด™เตเด™เตพ เดžเดพเตป เด‡เดตเดฟเดŸเต† เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต.

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. ะ—ะฐะฟั€ะพั ะพั‚ะฟั€ะฐะฒะปะตะฝ')

เด˜เดŸเตเดŸเด‚ 3.3. เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เด’เดฐเต เด†เตผเด•เตเด•เตˆเดตเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดžเด™เตเด™เตพ เด†เตผเด•เตเด•เตˆเดตเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเต‡เดฐเต เด•เตŠเดฃเตเดŸเตเดตเดจเตเดจเต เดซเดฏเตฝเดจเดพเดฎ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเดจเตเดจเต. เดŽเดจเตเดฑเต† เดธเต—เด•เดฐเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดžเดพเตป เด•เดพเดฒเดฏเดณเดตเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต + เด‡เดคเต เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เดกเดพเดฑเตเดฑเดฏเดพเดฃเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเดญเดฟเดšเตเดš เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดžเด™เตเด™เตพ เด†เตผเด•เตเด•เตˆเดตเดฟเดฒเต‡เด•เตเด•เต เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต.

# ะกะบะฐั‡ะธะฒะฐะฝะธะต ะฐั€ั…ะธะฒะฐ ั ะดะฐะฝะฝั‹ะผะธ
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
    code.write(response.content)
print('2. ะั€ั…ะธะฒ ั ั„ะฐะนะปะฐะผะธ ัƒัะฟะตัˆะฝะพ ัะบะฐั‡ะฐะฝ')  

เด˜เดŸเตเดŸเด‚ 3.4. เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเต† เด’เดฐเต เดซเต‹เตพเดกเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเดฏเดฒเตเด•เตพ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต

เดซเดฏเดฒเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเตป เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต zipfile เดฒเตˆเดฌเตเดฐเดฑเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต† เดตเดฐเดฟเดฏเดฟเตฝ, เดถเตเดฐเดฆเตเดงเดพเดฒเตเดตเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด•, เดŽเด•เตเดธเตเดŸเตเดฐเดพเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดชเดพเดค เดŽเดดเตเดคเตเด•.

# ะ˜ะทะฒะปะตั‡ะตะฝะธะต ั„ะฐะนะปะพะฒ ะฒ ะฟะฐะฟะบัƒ ะฝะฐ ะบะพะผะฟัŒัŽั‚ะตั€ะต
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. ะั€ั…ะธะฒ ั ั„ะฐะนะปะฐะผะธ ะธะทะฒะปะตั‡ะตะฝ ะธ ะทะฐะฟะธัะฐะฝ ะฒ ะฟะฐะฟะบัƒ ' + filename)

เด˜เดŸเตเดŸเด‚ 3.5. json เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚

เด†เตผเด•เตเด•เตˆเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเดฏเดฒเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดค เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพ json เดซเดฏเดฒเตเด•เตพ .gz เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดกเดพเดฑเตเดฑเดพเดซเตเดฐเต†เดฏเดฟเดฎเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.

เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพ เดชเดพเดคเตเดคเต เดตเต€เดฃเตเดŸเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ 000000 เดŽเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดจเดฎเตเดชเตผ เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดฆเดฏเดตเดพเดฏเดฟ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด†เตผเด•เตเด•เตˆเดตเต เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดค เดชเดพเดค เดธเตเดตเดฎเต‡เดงเดฏเดพ เดคเตเดฑเดจเตเดจเต เด‰เดณเตเดณเดฟเดฒเต† เดซเต‹เตพเดกเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเต เดจเต‹เด•เตเด•เตเด•).

เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ:

เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดŽเดดเตเดคเตเด•, เด’เดฐเต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดจเต‡เดŸเตเด•, เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดพเดซเตเดฐเต†เดฏเดฟเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•, tqdm เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต time.sleep(1), เดฒเต‚เดชเตเดชเดฟเดจเตเดณเตเดณเดฟเตฝ เดžเด™เตเด™เตพ .gz เดซเดฏเดฒเตเด•เตพ เดคเตเดฑเด•เตเด•เตเด•เดฏเตเด‚ json เดตเดพเดฏเดฟเด•เตเด•เดพเดจเตเด‚ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด‰เดŸเตป เดคเดจเตเดจเต† pandas เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ เดซเตเดฐเต†เดฏเดฟเด‚.

# ะŸั€ะตะพะฑั€ะฐะทะพะฒะฐะฝะธะต json ะบ ะพะฑั‹ั‡ะฝะพะผัƒ ั‚ะฐะฑะปะธั‡ะฝะพะผัƒ ั„ะพั€ะผะฐั‚ัƒ
directory = 'C:\Users\...\'+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')
0000' 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')

เด˜เดŸเตเดŸเด‚ 3.6. เดŽเด•เตเดธเดฒเดฟเตฝ เดกเดพเดฑเตเดฑเดซเตเดฐเต†เดฏเดฟเด‚ เดŽเดดเตเดคเตเดจเตเดจเต

เดŽเด•เตเดธเดฒเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด…เดชเตโ€Œเดฒเต‹เดกเต เด‡เดตเดฟเดŸเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต. เดฎเดฟเด•เตเด• เด•เต‡เดธเตเด•เดณเดฟเดฒเตเด‚, เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดณเตเดณเดฟเตฝ เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ เดซเตเดฐเต†เดฏเดฟเดฎเดฟเดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเต‹ เดกเดพเดฑเตเดฑ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เด‡เดŸเตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด•เต‚เดŸเตเดคเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต.

เด‡เดตเดฟเดŸเต†เดฏเตเดณเตเดณ เดกเดพเดฑเตเดฑ เด…เดชเตโ€Œเดฒเต‹เดกเต เดชเดพเดคเตเดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

# ะ—ะฐะฟะธัะฐั‚ัŒ ะฟะพะปัƒั‡ะตะฝะฝะพะน ั‚ะฐะฑะปะธั†ั‹ ะฒ Excel-ั„ะฐะนะป
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe ัƒัะฟะตัˆะฝะพ ะทะฐะฟะธัะฐะฝ ะฒ ั„ะฐะนะป ' + filename)

เด˜เดŸเตเดŸเด‚ 3.7. เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏเด‚ เดžเด™เตเด™เตพ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต

เดฌเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเต† เดธเดฎเดฏเด‚ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต, เดตเตเดฏเดคเตเดฏเดพเดธเดตเตเด‚ เดฎเดฟเดจเดฟเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดตเตเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต, เดฎเตŠเดคเตเดคเด‚ เดฎเดฟเดจเดฟเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดพเดฃเต เด…เดตเดธเดพเดจ เด˜เดŸเตเดŸเด‚.

b = time.time()
diff = b-a
minutes = diff//60
print('ะ’ั‹ะฟะพะปะฝะตะฝะธะต ะบะพะดะฐ ะทะฐะฝัะปะพ: {:.0f} ะผะธะฝัƒั‚(ั‹)'.format( minutes))

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดกเดพเดฑเตเดฑ เดŽเดดเตเดคเดฟเดฏ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต_เดกเดพเดฑเตเดฑเดซเตเดฐเต†เดฏเดฟเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดณเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŸเต‡เดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดณเดฟเดšเตเดšเต เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดพเด‚. เด‡เดคเดฟเดจเต เดเด•เดฆเต‡เดถเด‚ 50 เด•เต‹เดณเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เตเด‚, เด…เดคเดฟเตฝ 80% เด•เต‡เดธเตเด•เดณเดฟเดฒเตเด‚ เดจเดฟเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚: Event_type - เด‡เดตเดจเตเดฑเต เดชเต‡เดฐเต, Event_properties - เด‡เดตเดจเตเดฑเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ, Event_time - เด‡เดตเดจเตเดฑเต เดธเดฎเดฏเด‚, uuid - เด•เตเดฒเดฏเดจเตเดฑเต เดเดกเดฟ, user_properties - เด•เตเดฒเดฏเดจเตเดฑเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เด…เดตเดฏเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฃเด‚. . เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด•เดฃเด•เตเด•เตเด•เต‚เดŸเตเดŸเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เดฃเด•เตเด•เตเด•เตพ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเต‚เดšเด•เด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด…เดฆเตเดตเดฟเดคเต€เดฏ เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพ / เดซเดฃเดฒเตเด•เตพ เดฎเตเดคเดฒเดพเดฏเดต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ เดฐเต€เดคเดฟเดถเดพเดธเตเดคเตเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดฎเดฑเด•เตเด•เดฐเตเดคเต, เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดจเดฟเด™เตเด™เตพ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดพเดฏเดฟเด•เตเด•เดฃเด‚.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดถเตเดฐเดฆเตเดงเดฏเตเด•เตเด•เต เดจเดจเตเดฆเดฟ! เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดธเด‚เดธเตโ€Œเด•เตƒเดค เด‡เดตเดจเตเดฑเต เดกเดพเดฑเตเดฑ เด†เด‚เดชเตเดฒเดฟเดฑเตเดฑเตเดฏเต‚เดกเดฟเดฒเต‡เด•เตเด•เต เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดœเต‹เดฒเดฟเดฏเดฟเตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดฎเตเดดเตเดตเตป เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด‚:

# ะ˜ะผะฟะพั€ั‚ ะฑะธะฑะปะธะพั‚ะตะบ
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+'
# ะ˜ะผะฟะพั€ั‚ ะฑะธะฑะปะธะพั‚ะตะบ
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))
0000' 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))

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•