1

Пример кода для получения файла отчета в Эксель

Тема: Пример кода для получения файла отчета в Эксель

Дорогие друльзя!

Возможно, для некоторых из вас будет актуальна следующая информация.
Это пример кода, который можно использовать, чтобы получить по API отчет из Hecterra в популярном формате Эксель:

import requests # pip install requests
import sys
from datetime import datetime

GENERATE_REPORT_URL = "https://hecterra.wialon.com/api/resources/{}/reports"
DOWNLOAD_XLSX_REPORT_URL = "https://hecterra.wialon.com/api/resources/{}/reports/{}/xlsx"

def parse_date(date_str):
    return datetime.strptime(date_str, "%Y-%m-%d").date()
    
def main(token, resource_id, date_from, date_to):
    headers = {'Authorization': "Token %s" % token}

    resource_id
    
    reports_params = {
        't': 'resource',
        'df': str(date_from),
        'dt': str(date_to),
        'id': resource_id
    }

    response = requests.post(GENERATE_REPORT_URL.format(resource_id), 
                             json=reports_params,
                             headers=headers)

    report_json = response.json()
    report_id = report_json['report_id']


    response = requests.get(DOWNLOAD_XLSX_REPORT_URL.format(resource_id, report_id), 
                            headers=headers)

    with open('report.xlsx', 'wb') as f:
        f.write(response.content)


if __name__ == '__main__':
    token = sys.argv[1]
    resource_id = int(sys.argv[2])
    date_from = parse_date(sys.argv[3])
    date_to = parse_date(sys.argv[4])

    main(token, resource_id, date_from, date_to)
Katerina Alexandrova
Product Manager (Mobile)
Gurtam