def identificar_possiveis_empresas_citadas(caminho_arquivo, filtrar_por_empresas_unicas=False): """ Executa o passo responsavel por, a partir das entidades do tipo ORGANIZACAO, identificar possiveis valores para os CNPJs dessas empresas, utilizando inicialmente busca textual. :param caminho_arquivo: Caminho para o arquivo de entrada. :param filtrar_por_empresas_unicas: Caso seja True, retorna apenas entidades do tipo ORGANIZACAO que estejam associadas a exatamente uma razao social. :return: Caminho para o arquivo de saida. """ df = pd.read_excel(caminho_arquivo) resultado_analise = dict() data = link = midia = texto = titulo = ufs = None repositorio_cnpj = get_repositorio_cnpj(str(config.arquivo_config_cnpj)) for i in range(len(df)): classificacao, entidade, (data, link, midia, texto, titulo, ufs) = __get_valores(df, i, data, link, midia, texto, titulo, ufs) adicionar_aos_resultados(classificacao, entidade, filtrar_por_empresas_unicas, repositorio_cnpj, resultado_analise, (data, link, midia, texto, titulo, ufs)) persistir_informacoes(repositorio_cnpj, resultado_analise) logger = logging.getLogger('covidata') logger.info('Processamento concluído.') return config.arquivo_gerado_final
def __processar_cnpjs(retorno): buscar_cnpj = request.args['buscar-cnpj'] if buscar_cnpj == 'S': repositorio_cnpj = get_repositorio_cnpj(str( config.arquivo_config_cnpj)) resultado_analise = dict() if 'ORGANIZAÇÃO' in retorno: empresas = retorno['ORGANIZAÇÃO'] for empresa in empresas: adicionar_aos_resultados('ORGANIZAÇÃO', empresa, True, repositorio_cnpj, resultado_analise, ()) resultado_analise = {k[0]: v for k, v in resultado_analise.items()} # Elimina os nomes de empresa repetidos. retorno['ORGANIZAÇÃO'] = set(retorno['ORGANIZAÇÃO']) # Cria uma nova estrutura de dados para abrigar os metadados de cada organização cujo CNPJ foi encontrado. organizacoes = dict() for empresa in retorno['ORGANIZAÇÃO']: if empresa in resultado_analise: organizacoes[empresa] = { 'razao-social': resultado_analise[empresa][0][0], 'cnpj': resultado_analise[empresa][0][1][0] } retorno['ORGANIZAÇÃO'] = organizacoes
def identificar_possiveis_empresas_citadas(caminho_arquivo, filtrar_por_empresas_unicas=False): """ Executa o passo responsavel por, a partir das entidades do tipo ORGANIZACAO, identificar possiveis valores para os CNPJs dessas empresas, utilizando inicialmente busca textual. :param caminho_arquivo: Caminho para o arquivo de entrada. :param filtrar_por_empresas_unicas: Caso seja True, retorna apenas entidades do tipo ORGANIZACAO que estejam associadas a exatamente uma razao social. :return: Caminho para o arquivo de saida. """ df = pd.read_excel(caminho_arquivo) resultado_analise = dict() id = id_arquivo = link = titulo = tipo_servico = grupo_atividade = linha_acao = avaliacao_politica_publica = \ data_publicacao = localidades = trechos = None repositorio_cnpj = get_repositorio_cnpj() for i in range(len(df)): classificacao, entidade, (id, id_arquivo, link, titulo, tipo_servico, grupo_atividade, linha_acao, avaliacao_politica_publica, data_publicacao, localidades, trechos) = __get_valores( df, i, id, id_arquivo, link, titulo, tipo_servico, grupo_atividade, linha_acao, avaliacao_politica_publica, data_publicacao, localidades, trechos) adicionar_aos_resultados( classificacao, entidade, filtrar_por_empresas_unicas, repositorio_cnpj, resultado_analise, (id, id_arquivo, link, titulo, tipo_servico, grupo_atividade, linha_acao, avaliacao_politica_publica, data_publicacao, localidades, trechos)) persistir_informacoes(repositorio_cnpj, resultado_analise) logger = logging.getLogger('covidata') logger.info('Processamento concluído.') return config.arquivo_gerado_final