Api_datanewton_general

Api Запрос на datanewton.ru общая информация о компании. Нужен ключ. =>Результат в файлы json и Excel
 avatar
user_2065311
python
a month ago
2.3 kB
3
Indexable
Never
import requests
import pandas as pd
import clipboard
import os
import json

# Функция для получения ИНН из файла или буфера обмена
def get_inns():
    source = input("Введите 'file' для загрузки ИНН из файла или 'clipboard' для использования буфера обмена: ")
    if source.lower() == 'file':
        file_path = input("Введите путь к файлу: ")
        with open(file_path, 'r') as file:
            inns = file.read().splitlines()
    elif source.lower() == 'clipboard':
        inns = clipboard.paste().splitlines()
    else:
        print("Неверный ввод. Попробуйте снова.")
        return get_inns()
    return inns

# Функция для отправки запроса к API
def send_request(inns):
    url = "https://api.datanewton.ru/v1/batchCards"
    headers = {"Content-Type": "application/json"}
    params = {"key": "КЛЮЧ API"}
    data = {"source_inns_or_ogrns": inns}

    response = requests.post(url, headers=headers, params=params, json=data)
    if response.status_code == 200:
        return response.json()
    else:
        print("Ошибка при отправке запроса:", response.status_code)
        return None

# Функция для сохранения ответа в файл JSON
def save_to_json(data):
    file_name = 'gen_DATANT_output.json'
    with open(file_name, 'w') as json_file:
        json.dump(data, json_file, ensure_ascii=False, indent=4)
    print(f"Данные сохранены в файл {file_name}")


def save_to_excel(data):
    # Создаем DataFrame из ваших данных
    df = pd.json_normalize(data['data'])

    # Определяем имя файла и сохраняем DataFrame в Excel
    file_name = 'gen_DATANT_output.xlsx'
    df.to_excel(file_name, index=False)
    print(f"Данные сохранены в файл {file_name}")

# Главная функция
def main():
    inns = get_inns()
    if inns:
        response_data = send_request(inns)
        if response_data:
            save_to_excel(response_data)
            save_to_json(response_data)  # Добавлен вызов функции для сохранения в JSON

if __name__ == "__main__":
    main()
Leave a Comment