示例#1
0
    def __consolidar_despesas_capital(self, data_extracao):
        dicionario_dados = {
            consolidacao.CONTRATANTE_DESCRICAO: 'NomeOrgao',
            consolidacao.CONTRATADO_CNPJ: 'Credor',
            consolidacao.CONTRATADO_DESCRICAO: 'NomeCredor',
            consolidacao.VALOR_CONTRATO: 'Valor',
            consolidacao.DOCUMENTO_NUMERO: 'EmpenhoExercicio',
            consolidacao.DOCUMENTO_DATA: 'Data',
            consolidacao.TIPO_DOCUMENTO: 'TipoAto',
            consolidacao.DESPESA_DESCRICAO: 'ObjetoContrato',
        }
        planilha_original = path.join(
            config.diretorio_dados, 'RJ', 'portal_transparencia',
            'Rio de Janeiro', '_arquivos_Open_Data_Desp_Ato_Covid19_2020.txt')
        df_original = pd.read_csv(planilha_original,
                                  sep=';',
                                  encoding='ISO-8859-1')
        fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Rio_despesas_por_ato
        codigo_municipio_ibge = get_codigo_municipio_por_nome(
            'Rio de Janeiro', 'RJ')
        df = consolidar_layout(df_original, dicionario_dados,
                               consolidacao.ESFERA_MUNICIPAL, fonte_dados,
                               'RJ', codigo_municipio_ibge, data_extracao,
                               self.pos_processar)

        return df
示例#2
0
 def __processar_df_original(self, data_extracao, df_original,
                             dicionario_dados):
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Recife
     df = consolidar_layout(df_original, dicionario_dados,
                            consolidacao.ESFERA_MUNICIPAL, fonte_dados,
                            'PE',
                            get_codigo_municipio_por_nome('Recife', 'PE'),
                            data_extracao,
                            self.pos_processar_consolidar_dispensas)
     return df
示例#3
0
 def __consolidar_portal_transparencia_capital(self, data_extracao):
     dicionario_dados = {consolidacao.VALOR_CONTRATO: 'Valor do Contrato (R$)',
                         consolidacao.DESPESA_DESCRICAO: 'Descrição', consolidacao.CONTRATADO_DESCRICAO: 'Empresa',
                         consolidacao.CONTRATADO_CNPJ: 'CNPJ',
                         consolidacao.CONTRATANTE_DESCRICAO: 'Unidade Contratante'}
     planilha_original = path.join(config.diretorio_dados, 'MA', 'portal_transparencia', 'São Luís',
                                   'contratacoes.xls')
     df_original = pd.read_excel(planilha_original, header=4)
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_SaoLuis
     df = consolidar_layout(df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
                            fonte_dados, 'MA', get_codigo_municipio_por_nome('São Luís', 'MA'), data_extracao,
                            self.pos_processar_portal_transparencia_capital)
     return df
示例#4
0
    def consolidar_pt_Natal(self, data_extracao):
        # Objeto dict em que os valores tem chaves que retratam campos considerados mais importantes
        dicionario_dados = {consolidacao.CONTRATADO_DESCRICAO: 'Fornecedor',
                            consolidacao.CONTRATADO_CNPJ: 'CNPJ/CPF Fornecedor',
                            consolidacao.CONTRATANTE_DESCRICAO: 'Orgão Contratante',
                            consolidacao.DESPESA_DESCRICAO: 'Objeto', consolidacao.VALOR_CONTRATO: 'Valor Total'}

        # Lê o arquivo "xlsx" de nome de despesas baixado como um objeto pandas DataFrame
        df_original = pd.read_excel(
            path.join(config.diretorio_dados, 'RN', 'portal_transparencia', 'Natal', 'contratos.xls'),
            header=4)

        # Chama a função "consolidar_layout" definida em módulo importado
        df = consolidar_layout(df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
                               consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Natal, 'RN',
                               get_codigo_municipio_por_nome('Natal', 'RN'), data_extracao)
        df[consolidacao.MUNICIPIO_DESCRICAO] = 'Natal'
        return df
示例#5
0
 def __consolidar_despesas_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATANTE_DESCRICAO: 'orgao',
         consolidacao.CONTRATADO_DESCRICAO: 'nomefornecedor',
         consolidacao.CONTRATADO_CNPJ: 'fornecedor',
         consolidacao.DESPESA_DESCRICAO: 'itemclassificacaodespesa'
     }
     planilha_original = path.join(config.diretorio_dados, 'MS',
                                   'portal_transparencia', 'Campo Grande',
                                   'despesas.xlsx')
     df_original = pd.read_excel(planilha_original, header=1)
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_CampoGrande
     df = consolidar_layout(
         df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
         fonte_dados, 'MS',
         get_codigo_municipio_por_nome('Campo Grande', 'MS'), data_extracao,
         self.pos_processar_despesas_capital)
     return df
示例#6
0
 def __consolidar_aquisicoes_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.DOCUMENTO_DATA: 'Data',
         consolidacao.DOCUMENTO_NUMERO: 'Documento/Empenho',
         consolidacao.CONTRATANTE_DESCRICAO: 'Órgão',
         consolidacao.VALOR_CONTRATO: 'Valor R$'
     }
     planilha_original = path.join(
         config.diretorio_dados, 'PR', 'portal_transparencia', 'Curitiba',
         'Aquisições_para_enfrentamento_da_pandemia_do_COVID-19_-_Transparência_Curitiba.csv'
     )
     df_original = pd.read_csv(planilha_original, sep=';')
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Curitiba_aquisicoes
     codigo_municipio_ibge = get_codigo_municipio_por_nome('Curitiba', 'PR')
     df = consolidar_layout(df_original, dicionario_dados,
                            consolidacao.ESFERA_MUNICIPAL, fonte_dados,
                            'PR', codigo_municipio_ibge, data_extracao,
                            pos_processar)
     return df
示例#7
0
 def __consolidar_portal_transparencia_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATADO_CNPJ: 'CPF/CNPJ',
         consolidacao.CONTRATADO_DESCRICAO: 'Nome',
         consolidacao.DESPESA_DESCRICAO: 'Objeto',
         consolidacao.CONTRATANTE_DESCRICAO: 'Secretaria',
         consolidacao.VALOR_CONTRATO: 'Valor Total'
     }
     df_original = pd.read_excel(path.join(config.diretorio_dados, 'AC',
                                           'portal_transparencia',
                                           'Rio Branco', 'webexcel.xls'),
                                 header=11)
     df = consolidar_layout(
         df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
         consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' +
         config.url_pt_RioBranco, 'AC',
         get_codigo_municipio_por_nome('Rio Branco', 'AC'), data_extracao,
         self.pos_processar_portal_transparencia_capital)
     return df
示例#8
0
 def consolidar_contratacoes_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATADO_CNPJ: 'Contratado - CNPJ / CPF',
         consolidacao.DESPESA_DESCRICAO: 'Descrição de bem ou serviço',
         consolidacao.CONTRATANTE_DESCRICAO: 'Órgão Contratante',
         consolidacao.VALOR_CONTRATO: 'Valor contratado'
     }
     planilha_original = path.join(config.diretorio_dados, 'AP',
                                   'portal_transparencia', 'Macapa',
                                   'contratacoes.xls')
     df_original = pd.read_excel(planilha_original, header=4)
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Macapa
     df = consolidar_layout(df_original, dicionario_dados,
                            consolidacao.ESFERA_MUNICIPAL, fonte_dados,
                            'AP',
                            get_codigo_municipio_por_nome('Macapá', 'AP'),
                            data_extracao,
                            self.pos_processar_contratacoes_capital)
     return df
示例#9
0
 def __consolidar_contratacoes_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATANTE_DESCRICAO: 'ORGAO_ENTIDADE',
         consolidacao.CONTRATADO_CNPJ: 'CNPJ_CPF_CONTRATADO',
         consolidacao.CONTRATADO_DESCRICAO: 'CONTRATADO',
         consolidacao.DESPESA_DESCRICAO: 'OBJETO',
         consolidacao.VALOR_CONTRATO: 'VALOR_TOTAL'
     }
     planilha_original = path.join(config.diretorio_dados, 'MG',
                                   'portal_transparencia', 'Belo Horizonte',
                                   'contratacaocorona.xlsx')
     df_original = pd.read_excel(planilha_original)
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_BeloHorizonte
     df = consolidar_layout(
         df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
         fonte_dados, 'MG',
         get_codigo_municipio_por_nome('Belo Horizonte', 'MG'),
         data_extracao, self.pos_processar_contratacoes_capital)
     return df
示例#10
0
 def consolidar_materiais_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATANTE_DESCRICAO: 'ÓRGÃO',
         consolidacao.DESPESA_DESCRICAO: 'MATERIAL/SERVIÇO',
         consolidacao.VALOR_CONTRATO: 'VLR TOTAL CONTRATADO',
         consolidacao.CONTRATADO_DESCRICAO: 'FORNECEDOR',
         consolidacao.CONTRATADO_CNPJ: 'CNPJ',
         consolidacao.DOCUMENTO_NUMERO: 'NOTA DE EMPENHO'
     }
     df_original = pd.read_csv(
         path.join(
             config.diretorio_dados, 'AM', 'portal_transparencia', 'Manaus',
             'PÚBLICA-CONTROLE-PROCESSOS-COMBATE-COVID-19-MATERIAIS.csv'))
     df = consolidar_layout(
         df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
         consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' +
         config.url_pt_Manaus, 'AM',
         get_codigo_municipio_por_nome('Manaus', 'AM'), data_extracao,
         self.pos_processar_materiais_capital)
     return df
示例#11
0
 def __consolidar_despesas_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.DOCUMENTO_NUMERO: 'N. DO EMPENHO',
         consolidacao.DOCUMENTO_DATA: 'DATA EMPENHO',
         consolidacao.CONTRATANTE_DESCRICAO: 'UNIDADE ORCAMENTARIA',
         consolidacao.VALOR_CONTRATO: 'VALOR EMPENHO',
         consolidacao.CONTRATADO_DESCRICAO: 'CREDOR',
         consolidacao.CONTRATADO_CNPJ: 'CNPJ / CPF'
     }
     planilha_original = path.join(config.diretorio_dados, 'CE',
                                   'portal_transparencia', 'Fortaleza',
                                   'despesas.csv')
     df_original = pd.read_csv(planilha_original, sep=';')
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Fortaleza
     df = consolidar_layout(
         df_original, dicionario_dados,
         consolidacao.ESFERA_MUNICIPAL, fonte_dados, 'CE',
         get_codigo_municipio_por_nome('Fortaleza', 'CE'), data_extracao,
         self.pos_processar_despesas_capital)
     return df
示例#12
0
 def __consolidar_contratos_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATADO_CNPJ: 'Código favorecido',
         consolidacao.CONTRATADO_DESCRICAO: 'Favorecido',
         consolidacao.DESPESA_DESCRICAO: 'Objeto',
         consolidacao.CONTRATANTE_DESCRICAO: 'Descrição do órgão executor',
         consolidacao.VALOR_CONTRATO: 'Valor atualizado do instrumento'
     }
     planilha_original = path.join(config.diretorio_dados, 'RJ',
                                   'portal_transparencia', 'Rio de Janeiro',
                                   'Open_Data_Contratos_Covid19_2020.xlsx')
     df_original = pd.read_excel(planilha_original)
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Rio_contratos
     codigo_municipio_ibge = get_codigo_municipio_por_nome(
         'Rio de Janeiro', 'RJ')
     df = consolidar_layout(df_original, dicionario_dados,
                            consolidacao.ESFERA_MUNICIPAL, fonte_dados,
                            'RJ', codigo_municipio_ibge, data_extracao,
                            self.pos_processar_contratos_capital)
     return df
示例#13
0
 def __consolidar_licitacoes_capital(self, data_extracao):
     dicionario_dados = {
         consolidacao.CONTRATANTE_DESCRICAO: 'ÓRGÃO',
         consolidacao.DESPESA_DESCRICAO: 'OBJETO',
         consolidacao.CONTRATADO_DESCRICAO: 'CONTRATADO (s)',
         consolidacao.CONTRATADO_CNPJ: 'CNPJ',
         consolidacao.DOCUMENTO_NUMERO: 'EMPENHO Nº ',
         consolidacao.VALOR_CONTRATO: 'VALOR TOTAL/GLOBAL'
     }
     planilha_original = path.join(config.diretorio_dados, 'PR',
                                   'portal_transparencia', 'Curitiba',
                                   'licitacoes_contratacoes.csv')
     df_original = pd.read_csv(planilha_original,
                               sep=';',
                               header=0,
                               encoding='ISO-8859-1')
     fonte_dados = consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Curitiba_contratacoes
     df = consolidar_layout(df_original, dicionario_dados,
                            consolidacao.ESFERA_MUNICIPAL, fonte_dados,
                            'PR',
                            get_codigo_municipio_por_nome('Curitiba', 'PR'),
                            data_extracao, pos_processar)
     return df
示例#14
0
    def consolidar_pt_BoaVista(self, data_extracao):
        # Objeto dict em que os valores tem chaves que retratam campos considerados mais importantes
        dicionario_dados = {
            consolidacao.DESPESA_DESCRICAO: 'Objeto Licitação',
            consolidacao.CONTRATADO_CNPJ: 'CNPJ',
            consolidacao.CONTRATADO_DESCRICAO: 'Contratado',
            consolidacao.VALOR_CONTRATO: 'Valor Contrato'
        }

        # Lê o arquivo "xlsx" de despesas baixado como um objeto pandas DataFrame
        df_original = pd.read_excel(
            path.join(config.diretorio_dados, 'RR', 'portal_transparencia',
                      'BoaVista', 'Dados_Portal_Transparencia_BoaVista.xlsx'))

        # Chama a função "consolidar_layout" definida em módulo importado
        df = consolidar_layout(
            df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
            consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' +
            config.url_pt_BoaVista, 'RR',
            get_codigo_municipio_por_nome('Boa Vista', 'RR'), data_extracao,
            self.pos_processar)

        return df
示例#15
0
    def consolidar_pt_Florianopolis(self, data_extracao):
        # Objeto dict em que os valores tem chaves que retratam campos considerados mais importantes
        dicionario_dados = {consolidacao.CONTRATANTE_DESCRICAO: 'Órgão Contratante',
                            consolidacao.CONTRATADO_DESCRICAO: 'Nome do Contratado',
                            consolidacao.CONTRATADO_CNPJ: 'CPF/CNPJ do Contratado',
                            consolidacao.DESPESA_DESCRICAO: 'Objeto',
                            consolidacao.VALOR_CONTRATO: 'Valor Global'}

        # Lê o arquivo "csv" de despesas baixado como um objeto pandas DataFrame
        df_original = pd.read_csv(path.join(config.diretorio_dados, 'SC', 'portal_transparencia',
                                            'Florianopolis', 'aquisicoes.csv'),
                                  sep=';',
                                  encoding='iso-8859-1')

        # Chama a função "pre_processar_pt_Florianopolis" definida neste módulo
        df = self.pre_processar_pt_Florianopolis(df_original)

        # Chama a função "consolidar_layout" definida em módulo importado
        df = consolidar_layout(df, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
                               consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' + config.url_pt_Florianopolis, 'SC',
                               get_codigo_municipio_por_nome('Florianópolis', 'SC'), data_extracao)

        return df
示例#16
0
    def __consolidar_pt_despesas_Goiania(self, data_extracao):
        # Objeto dict em que os valores tem chaves que retratam campos considerados mais importantes
        dicionario_dados = {
            consolidacao.DOCUMENTO_NUMERO: 'Empenho',
            consolidacao.DOCUMENTO_DATA: 'Data Empenho',
            consolidacao.CONTRATADO_CNPJ: 'CNPJ',
            consolidacao.CONTRATADO_DESCRICAO: 'Nome Favorecido',
            consolidacao.CONTRATANTE_DESCRICAO: 'Nome Órgão',
            consolidacao.DESPESA_DESCRICAO: 'Natureza Despesa'
        }

        # Obtém objeto list dos arquivos armazenados no path passado como argumento para a função nativa "glob"
        list_files = glob(
            path.join(config.diretorio_dados, 'GO', 'portal_transparencia',
                      'Goiania/*'))

        # Obtém o primeiro elemento do objeto list que corresponde ao nome do arquivo "json" baixado
        file_name = list_files[0]

        # Armazena o conteúdo do arquivo "json" de nome "file_name" de despesas em um file handler
        f = open(file_name)

        # Carrega os dados no formato json
        data_original = json.load(f)
        # data_original = json.load(f, encoding='IS0-8859-1')

        # Chama a função "pre_processar_pt_despesas_Goiania" definida neste módulo
        df = self.pre_processar_pt_despesas_Goiania(data_original)

        # Chama a função "consolidar_layout" definida em módulo importado
        df = consolidar_layout(
            df, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
            consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' +
            config.url_pt_Goiania_despesas, 'GO',
            get_codigo_municipio_por_nome('Goiânia', 'GO'), data_extracao,
            self.pos_processar)
        return df
示例#17
0
    def consolidar_pt_JoaoPessoa(self, data_extracao):
        # Objeto dict em que os valores tem chaves que retratam campos considerados mais importantes
        dicionario_dados = {
            consolidacao.CONTRATADO_DESCRICAO: 'Nome Favorecido',
            consolidacao.DOCUMENTO_NUMERO: 'Empenho',
            consolidacao.DOCUMENTO_DATA: 'Data Empenho',
            consolidacao.CONTRATANTE_DESCRICAO: 'Unidade'
        }

        # Lê o arquivo "xlsx" de contratos baixado como um objeto pandas DataFrame selecionando as linhas e colunas úteis
        df_original = pd.read_excel(
            path.join(config.diretorio_dados, 'PB', 'portal_transparencia',
                      'JoaoPessoa',
                      'Dados_Portal_Transparencia_JoaoPessoa.xlsx'))

        # Chama a função "consolidar_layout" definida em módulo importado
        df = consolidar_layout(
            df_original, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
            consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' +
            config.url_pt_JoaoPessoa, 'PB',
            get_codigo_municipio_por_nome('João Pessoa', 'PB'), data_extracao,
            self.pos_processar)

        return df
示例#18
0
    def consolidar_pt_Aracaju(self, data_extracao):
        # Objeto dict em que os valores tem chaves que retratam campos considerados mais importantes
        dicionario_dados = {
            consolidacao.CONTRATANTE_DESCRICAO: 'Órgão',
            consolidacao.DOCUMENTO_NUMERO: 'Empenho',
            consolidacao.CONTRATADO_DESCRICAO: 'Nome Favorecido',
            consolidacao.CONTRATADO_CNPJ: 'CNPJ/CPF Favorecido',
            consolidacao.DESPESA_DESCRICAO: 'DsEmpenho'
        }

        df_empenhos = pd.read_excel(path.join(
            config.diretorio_dados, 'SE', 'portal_transparencia', 'Aracaju',
            'Dados_Portal_Transparencia_Aracaju.xlsx'),
                                    sheet_name='Empenhos')

        df_liquidacoes = pd.read_excel(path.join(
            config.diretorio_dados, 'SE', 'portal_transparencia', 'Aracaju',
            'Dados_Portal_Transparencia_Aracaju.xlsx'),
                                       sheet_name='Liquidações')

        df_pagamentos = pd.read_excel(path.join(
            config.diretorio_dados, 'SE', 'portal_transparencia', 'Aracaju',
            'Dados_Portal_Transparencia_Aracaju.xlsx'),
                                      sheet_name='Pagamentos')

        df = self.pre_processar_pt_Aracaju(df_empenhos, df_liquidacoes,
                                           df_pagamentos)

        # Chama a função "consolidar_layout" definida em módulo importado
        df = consolidar_layout(
            df, dicionario_dados, consolidacao.ESFERA_MUNICIPAL,
            consolidacao.TIPO_FONTE_PORTAL_TRANSPARENCIA + ' - ' +
            config.url_pt_Aracaju, 'SE',
            get_codigo_municipio_por_nome('Aracaju', 'SE'), data_extracao,
            self.pos_processar)
        return df