def query_update_valores(table): colunas_valor = [ 'valor_doado', 'valor_recebido', 'fonte_fundo_part', 'fonte_fundo_esp', 'fonte_outros_rec', 'RP', 'RPF', 'RPJ', 'DPI', 'RPP', 'RFC', 'CBRE', 'RAF', 'RONI', 'ROC', 'DRC', 'receita_total', 'despesa_total', 'custo_voto' ] for cv in colunas_valor: mtse.execute_query(f""" update {table} set {cv} = {cv} * {IPCA_2014_2018}; """ )
def query_crate_table_nodes_ipca(): mtse.execute_query(f""" drop table if exists {table_gephi_nodes_com_ipca} ; create table {table_gephi_nodes_com_ipca} as select * from {table_gephi_nodes}; """) query_update_valores(table_gephi_nodes_com_ipca)
def salva_rede_brasil(csv_dir,rede): rede_dir_BR = f'{csv_dir}/{rede}_Brasil' os.makedirs(rede_dir_BR) edges_csv_query=f"""copy ( select * from {table_edges} ) TO '{rede_dir_BR}/{rede}_Brasil_edges.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(edges_csv_query) nodes_csv_query=f"""copy ( select * from {table_nodes} ) TO '{rede_dir_BR}/{rede}_Brasil_nodes.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(nodes_csv_query) candidaturas_csv_query=f"""copy ( select * from {table_candidaturas} ) TO '{rede_dir_BR}/{rede}_Brasil_candidaturas.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(candidaturas_csv_query) receitas_csv_query=f"""copy ( select * from {table_receitas} ) TO '{rede_dir_BR}/{rede}_Brasil_receitas.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(receitas_csv_query)
def salva_rede_csv_uf(csv_dir,rede,sg_uf): rede_dir_uf = f'{csv_dir}/{rede}_{sg_uf}' os.makedirs(rede_dir_uf) edges_query=f"""copy ( select * from {table_edges} where ue ='{sg_uf}' ) TO '{rede_dir_uf}/{rede}_{sg_uf}_edges.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(edges_query) nodes_query=f"""copy ( select * from {table_nodes} where ue ='{sg_uf}' ) TO '{rede_dir_uf}/{rede}_{sg_uf}_nodes.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(nodes_query) candidaturas_csv_query=f"""copy ( select * from {table_candidaturas} where sg_uf ='{sg_uf}' ) TO '{rede_dir_uf}/{rede}_{sg_uf}_candidaturas.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(candidaturas_csv_query) receitas_csv_query=f"""copy ( select * from {table_receitas} where receptor_uf ='{sg_uf}' ) TO '{rede_dir_uf}/{rede}_{sg_uf}_receitas.csv' DELIMITER ';' CSV HEADER; """ mtse.execute_query(receitas_csv_query)
# In[3]: import os import sys sys.path.append('../') import mod_tse as mtse home = os.environ["HOME"] # In[4]: mtse.execute_query(f'CREATE SCHEMA IF NOT EXISTS {dbschema};') # ## CRIA TABELA RECEITAS # In[5]: query_create_table_receitas = f""" DROP TABLE IF EXISTS {table_receitas} CASCADE; CREATE TABLE {table_receitas} ( tabela_id varchar, eleicao_ano varchar, eleicao_turno varchar, prestador_contas_sq varchar,
table_munzona = f"tse{ano_eleicao}.votacao_candidato_munzona_{ano_eleicao}" table_consulta_cand = f"tse{ano_eleicao}.consulta_cand_{ano_eleicao}" table_municipios = f"{dbschema}.municipios_{ano_eleicao}" table_partidos = f"{dbschema}.partidos_{ano_eleicao}" # In[3]: import os import sys sys.path.append('../') import mod_tse as mtse home = os.environ["HOME"] # In[4]: mtse.execute_query(f'CREATE SCHEMA IF NOT EXISTS {dbschema};') # ### DICIONÁRIO ORIGEM DAS RECEITAS # In[5]: query_create_table_origem_receitas = f""" DROP TABLE IF EXISTS {table_origem_receitas} CASCADE; create table {table_origem_receitas} ( cd_origem_receita varchar, -- codigo sg_origem_receita varchar, -- sigla tx_origem_receita varchar, -- descricao textual ds_origem_receita varchar -- descricao padronizada );
query_crate_table_candidaturas_ipca = f""" drop table if exists {table_candidaturas_com_ipca} cascade; create table {table_candidaturas_com_ipca} as select * from {table_candidaturas} ; update {table_candidaturas_com_ipca} set receita_total = receita_total * {IPCA_2014_2018}, despesa_total = despesa_total * {IPCA_2014_2018}, custo_voto = custo_voto * {IPCA_2014_2018} ; """ mtse.execute_query(query_crate_table_candidaturas_ipca) # ### RECEITAS # In[7]: query_crate_table_receitas_ipca = f""" drop table if exists {table_receitas_com_ipca}; create table {table_receitas_com_ipca} as select * from {table_receitas}; update {table_receitas_com_ipca} set receita_valor = receita_valor * {IPCA_2014_2018} ;
# In[3]: import os import sys sys.path.append('../') import mod_tse as mtse home = os.environ["HOME"] # In[4]: mtse.execute_query(f'CREATE SCHEMA IF NOT EXISTS {dbschema};') # ## CODIFICA DESCRIÇÃO, CÓDIGO E SIGLA DA ORIGEM DA RECEITA # In[5]: query_update_origem_receita = f""" update {table_receitas} as r set receita_origem_sg = o.sg_origem_receita, receita_origem_cd = o.cd_origem_receita, receita_origem_ds = o.ds_origem_receita from {table_origem_receitas} as o where (
def query_insert_candidaturas(cd_tipo_eleicao, nr_turno): query = f""" INSERT INTO {table_candidaturas} (SELECT ano_eleicao as ano_eleicao, cd_tipo_eleicao as cd_tipo_eleicao, cd_eleicao as cd_eleicao, nr_turno as nr_turno, tp_abrangencia as tp_abrangencia, sg_uf as sg_uf, sg_ue as sg_ue, nm_ue as nm_ue, ds_cargo as ds_cargo, sq_candidato as sq_candidato, nr_candidato as nr_candidato, upper(nm_candidato) as nm_candidato, nm_urna_candidato as nm_urna_candidato, nr_cpf_candidato as nr_cpf_candidato, ds_situacao_candidatura as ds_situacao_candidatura, ds_detalhe_situacao_cand as ds_detalhe_situacao_cand, tp_agremiacao as tp_agremiacao, nr_partido as nr_partido, sg_partido as sg_partido, nm_partido as nm_partido, nm_coligacao as nm_coligacao, ds_composicao_coligacao as ds_composicao_coligacao, ds_nacionalidade as ds_nacionalidade, sg_uf_nascimento as sg_uf_nascimento, nm_municipio_nascimento as nm_municipio_nascimento, dt_nascimento as dt_nascimento, nr_idade_data_posse as nr_idade_data_posse, ds_genero as ds_genero, ds_grau_instrucao as ds_grau_instrucao, ds_estado_civil as ds_estado_civil, ds_cor_raca as ds_cor_raca, cd_ocupacao as cd_ocupacao, ds_ocupacao as ds_ocupacao, nr_despesa_max_campanha::numeric(18,2) as nr_despesa_max_campanha, ds_sit_tot_turno as ds_sit_tot_turno, st_reeleicao as st_reeleicao, st_declarar_bens as st_declarar_bens, --------------------------------------------- get_candidato_id(nr_cpf_candidato) as candidato_id, get_candidato_label(nm_urna_candidato,ds_cargo,sg_uf,sg_partido) as candidato_label, public.eh_candidato_titular_apto(ds_cargo,ds_situacao_candidatura) as candidato_titular_apto, get_candidatura_id(sg_uf,nr_candidato) as candidatura_id, '' as candidatura_nome, '' as candidatura_label, -------------------------------------------- 0 as total_votos_turno_1, 0 as total_votos_turno_2, 0 as total_votos, -------------------------------------------- '' as nr_cnpj_prestador_conta, 'N' as declarou_receita, 0 as receita_total, 'N' as declarou_despesa, 0 as despesa_total, 0 as custo_voto, get_tse_id(sq_candidato) as tse_id from {table_consulta_cand} as c where c.cd_tipo_eleicao = '{cd_tipo_eleicao}' and c.nr_turno = '{nr_turno}' and get_candidato_id(c.nr_cpf_candidato)||ds_cargo not in (select candidato_id||ds_cargo from {table_candidaturas}) ) ; """ mtse.execute_query(query)
CREATE INDEX ON {table_candidaturas} (candidato_id); CREATE INDEX ON {table_candidaturas} (candidatura_id); CREATE INDEX ON {table_candidaturas} (nm_candidato); CREATE INDEX ON {table_candidaturas} (candidato_label); CREATE INDEX ON {table_candidaturas} (candidatura_label); CREATE INDEX ON {table_candidaturas} (nm_urna_candidato); CREATE INDEX IF NOT EXISTS sq_candidato_idx ON {table_candidaturas} ( sq_candidato ); """ mtse.execute_query(query_create_table_candidaturas) # ## Insere os dados de consulta_cand # In[4]: def query_insert_candidaturas(cd_tipo_eleicao, nr_turno): query = f""" INSERT INTO {table_candidaturas} (SELECT ano_eleicao as ano_eleicao, cd_tipo_eleicao as cd_tipo_eleicao, cd_eleicao as cd_eleicao, nr_turno as nr_turno, tp_abrangencia as tp_abrangencia,
uf varchar, ue varchar, ue_nome varchar, partido_sg varchar, partido_nr varchar, esfera_partidaria_cd varchar, esfera_partidaria_ds varchar, esfera_partidaria_sg varchar, label varchar ); CREATE INDEX ON {table_orgaos_partidarios} (orgao_partidario_id); """ mtse.execute_query(query_create_table_orgaos_partidarios) # In[ ]: # In[5]: query_insert_orgaos_partidarios_receptores = f""" insert into {table_orgaos_partidarios} ( select receptor_id as orgao_partidario_id , receptor_cnpj as cnpj, receptor_nome as nome, receptor_uf as uf, receptor_ue as ue,
sys.path.append('../') import mod_tse as mtse # In[9]: import os home = os.environ["HOME"] local_dir = f'{home}/temp' # In[10]: mtse.execute_query(f"update {table_municipios} set rede= 'N';") # ## REDE BRASIL # In[11]: def salva_rede_brasil(csv_dir,rede): rede_dir_BR = f'{csv_dir}/{rede}_Brasil' os.makedirs(rede_dir_BR) edges_csv_query=f"""copy ( select * from {table_edges} )
( Source varchar, Target varchar, Type varchar, "Weight" numeric(18,2), doador_tipo varchar, receptor_tipo varchar ); CREATE INDEX ON {table_gephi_edges} (Source); CREATE INDEX ON {table_gephi_edges} (Target); """ mtse.execute_query(query_create_gephi_edges) # In[6]: mtse.execute_query(f""" insert into {table_gephi_edges} SELECT doador_id as Source , receptor_id as Target, 'undirected' as Type, sum(receita_valor) as Weight, doador_tipo_cd, receptor_tipo_cd FROM {table_receitas} group by
table_receitas_candidatos = f'{dbschema_tse}.receitas_candidatos_{ano_eleicao}' table_receitas_candidatos_doador_originario = f'{dbschema_tse}.receitas_candidatos_doador_originario_{ano_eleicao}' table_receitas_orgaos_partidarios = f'{dbschema_tse}.receitas_orgaos_partidarios_{ano_eleicao}' table_receitas_orgaos_partidarios_doador_originario = f'{dbschema_tse}.receitas_orgaos_partidarios_doador_originario_{ano_eleicao}' # In[3]: import os import sys sys.path.append('../') import mod_tse as mtse home = os.environ["HOME"] # In[4]: mtse.execute_query(f'CREATE SCHEMA IF NOT EXISTS {dbschema};') # ## CRIA TABELA RECEITAS # In[5]: query_create_table_receitas = f""" DROP TABLE IF EXISTS {table_receitas} CASCADE; CREATE TABLE {table_receitas} ( tabela_id varchar, eleicao_ano varchar, eleicao_turno varchar, prestador_contas_sq varchar, prestador_contas_cnpj varchar,
table_origem_receitas = f'{dbschema}.origem_receitas_{ano_eleicao}' table_fonte_receitas = f'{dbschema}.fonte_receitas_{ano_eleicao}' # In[ ]: # In[3]: import os import sys sys.path.append('../') import mod_tse as mtse home = os.environ["HOME"] # In[4]: mtse.execute_query(f'CREATE SCHEMA IF NOT EXISTS {dbschema};') # In[5]: copia_receitas = f""" DROP TABLE IF EXISTS {table_receitas} CASCADE; create table {table_receitas} as select * from {table_receitas}_codificada ; """ mtse.execute_query(copia_receitas) # In[ ]: # In[6]:
( Source varchar, Target varchar, Type varchar, "Weight" numeric(18,2), doador_tipo varchar, receptor_tipo varchar ); CREATE INDEX ON {table_gephi_edges} (Source); CREATE INDEX ON {table_gephi_edges} (Target); """ mtse.execute_query(query_create_gephi_edges) # In[6]: mtse.execute_query(f""" insert into {table_gephi_edges} SELECT doador_id as Source , receptor_id as Target, 'undirected' as Type, sum(receita_valor) as Weight, doador_tipo_cd, receptor_tipo_cd FROM {table_receitas} group by