Времени на раскачку нет - сразу к делу.
На сайте digital.gov.ru можно найти документ со списком организаций, прошедших аккредитацию минцифры.
Давайте добавим в @CryptedRobot, который всегда можно найти в телеграме, возможность проверки по ИНН или названию организации - является ли эта организация аккредитованной.
import pandas as pd
import numpy as np
df = pd.read_excel('mobi.xls')
arr = np.array(df)
def find_organizations(search_string: str) -> list:
result = []
for item in arr:
if search_string.lower() in str(item).lower():
result = [item] if not len(result) else [*result, item]
return result
Это простая функция, которая осуществляет поиск по xls файлу, который предварительно загружен в оперативную память как np array.
Далее остается только вызвать эту функцию, передав в нее поисковую строку (ИНН или часть названия организации, которую вы хотите проверить):
na = find_organizations('7715004077') # numpy array
(
number,
insert_date,
full_name,
egrul,
inn,
revision_date,
revision_number,
change_date,
changes,
status,
) = na[0]
# this is how we can destruct numpy array to separate variables
Дальше остается только отправить значения через ТГ бот апи, чтобы получить красивое сообщение:
Как обычно, надеюсь, это кому-то окажется полезным.
Комментарии (9)
MechanicusJr
27.09.2022 21:45+1А зачем? если сегодня эта аккредитация есть, завтра нет?
aaaopy
28.09.2022 09:29+1или "сегодня аккредитация даёт отсрочку, а завтра нет". Люди будто не запоминают уроков прошлого)
born2fish Автор
29.09.2022 18:08Лучше бы хоть один человек подсказал, что если сделать
arr = np.array(df).astype('str')
и убрать приведение к строке в цикле, то это будет работать на пол секунды быстрее
born2fish Автор
30.09.2022 13:52import pandas as pd import numpy as np df = pd.read_excel('mobi.xls') df.apply(lambda x: x.astype(str)) def find_organizations(search_string: str) -> list: index = 4 if len(search_string) == 10 else 2 return list(filter(lambda x: search_string.lower() in str(x[index]).lower(), arr)) find_organizations('3906988219')
Тот же самый поиск, который будет работать в 3(!) раза быстрее
Surgun
Поиска на самом сайте не хватает?
https://digital.gov.ru/opendata/7710474375-registergosaccred/table/
born2fish Автор
Конечно хватает. Но телега всегда под рукой и, бывает, удобно оперативно получать информацию, не выходя из зоны комфорта - не вспоминая ссылки, не открывая браузер
fshp
Вы вот так запросто без браузера вспомнили ИНН?
regint
Есть ещё один отличный бот для поиска организаций))) это не сарказм, давно им пользуюсь, очень удобный ????
born2fish Автор
Признаюсь, реализовать подобный поиск оказалось очень просто и быстро, при этом, он работает в оперативной памяти и совсем не требователен к ресурсам. Запомнитаь ИНН конечно никто не будет, но проверку по названию компании так же можно произвести, да и на момент подпаисания договора всегда можно шустро перепровериться на всякий случай.
Если совсем откровенно - больше хотелось обратить внимание на детали реализации - как в несколько строчек кода организовать поиск по любой табличке excel и прикрепить к этому удобный UI.