示例#1
0
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};
                           """
                          )
示例#2
0
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,
示例#6
0
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
    
);
示例#7
0

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 
(
示例#9
0
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)
示例#10
0
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}
                    )
示例#13
0
(
  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]:
示例#16
0
(
  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