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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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