def main(path_diarios, path_relatorio_final):
    print('comecei')
    rec_f = recursive_folders()
    parallel = parallel_programming()
    arquivos_path = rec_f.find_files(path_diarios)
    diarios_processar = [i for i in arquivos_path if i[-3:] == 'csv']
    parallel.run_f_nbatches(csv_base, diarios_processar)
    print('terminei de inserir dados na base')

    print('gerando o csv com publicacoes')
    rows = []
    cursor = cursorConexao()
    cursor.execute(
        'SELECT tribunal, texto_publicacao, nome_arquivo, data, numero_processo from diarios.publicacoes_diarias'
    )
    dados = cursor.fetchall()
    for tribunal, texto_publicacao, nome_arquivo, data, numero_processo in dados:
        rows.append({
            'tribunal': tribunal,
            'texto_publicacao': texto_publicacao,
            'nome_arquivo': nome_arquivo,
            'data': data,
            'numero_processo': numero_processo
        })
    data_frame = pd.DataFrame(rows, index=[i for i in range(len(rows))])
    data_frame.to_csv(path_relatorio_final)
    print('fim')
예제 #2
0
def main(path_files, qualificador):
    rec = recursive_folders()
    lista_arquivos = [i for i in rec.find_files(path_files) if i[-3:] == 'csv']
    d_n_diarios_ano = {}
    d_n_publicacoes_ano = {}
    for arq in lista_arquivos:
        print(arq)
        try:
            df = pd.read_csv(arq)
            if 'tribunal' not in df.columns:
                continue
            tribunal = None
            ano = None
            for _, row in df.iterrows():
                if tribunal and ano:
                    break
                if not tribunal:
                    if row['tribunal'] != np.nan:
                        tribunal = row['tribunal']
                if not ano:
                    if len(str(row['data'])) > 6:
                        ano = str(row['data'])[-4:]
            if ano and tribunal:
                if tribunal not in d_n_publicacoes_ano:
                    d_n_publicacoes_ano[tribunal] = {}
                if ano not in d_n_publicacoes_ano[tribunal]:
                    d_n_publicacoes_ano[tribunal][ano] = 0
                d_n_publicacoes_ano[tribunal][ano] += len(df.index)
                if tribunal not in d_n_diarios_ano:
                    d_n_diarios_ano[tribunal] = {}
                if ano not in d_n_diarios_ano[tribunal]:
                    d_n_diarios_ano[tribunal][ano] = 0
                d_n_diarios_ano[tribunal][ano] += 1
        except Exception as e:
            print(e)
        gc.collect()
    rows_descritivo_n_pub = []
    for tribunal, dic_a in d_n_publicacoes_ano.items():
        dic_aux = {str(ano):0 for ano in range(2008,2021)}
        dic_aux['tribunal'] = tribunal
        for ano, value in dic_a.items():
            if ano in dic_aux:
                dic_aux[ano] = value
        rows_descritivo_n_pub.append(dic_aux)
    rows_descritivo_n_diario = []
    for tribunal, dic_a in d_n_diarios_ano.items():
        dic_aux = {str(ano):0 for ano in range(2008,2021)}
        dic_aux['tribunal'] = tribunal
        for ano, value in dic_a.items():
            if ano in dic_aux:
                dic_aux[ano] = value
        rows_descritivo_n_diario.append(dic_aux)
    df_descritivo_pub = pd.DataFrame(rows_descritivo_n_pub)
    df_descritivo_pub.to_csv('descritivo_numero_publicações_ano{}.csv'.format(qualificador),index=False)
    df_descritivo_diarios = pd.DataFrame(rows_descritivo_n_diario)
    df_descritivo_diarios.to_csv('descritivo_numero_diarios_ano{}.csv'.format(qualificador),index=False)
예제 #3
0
def main(path_diarios, path_relatorio_final):
    print('comecei', path_diarios)
    rec_f = recursive_folders()
    # parallel = parallel_programming()
    arquivos_path = rec_f.find_files(path_diarios)
    diarios_processar = [i for i in arquivos_path if i[-3:] == 'csv']
    # parallel.run_f_nbatches(csv_base,diarios_processar)
    for d in diarios_processar:
        try:
            csv_base(d)
        except:
            pass
    print('terminei de inserir dados na base')
예제 #4
0
def main():
    print('Criando dicionário de ações')
    criar_dic_acoes(
        '/home/deathstar/Dados/Extracao_cnj_adocao/numeros_processos.csv',
        path_final='/home/deathstar/Dados/Extracao_cnj_adocao/')
    rec = recursive_folders()
    lista_arquivos = [
        i for i in rec.find_files('/home/deathstar/Dados/Diarios')
        if i[-3:] == 'csv'
    ]
    print('Extraindo decisões')
    extracao_decisoes_cnj_csvs(
        lista_arquivos,
        path_final='/home/deathstar/Dados/Extracao_cnj_adocao/')
 def processar_arquivos_diarios(self,
                                path_arquivos,
                                path_csv_final='decisões_stj.csv'):
     r = recursive_folders()
     rows = []
     paths = [i for i in r.find_files(path_arquivos) if i[-4:] == '.txt']
     print('Arquivos sendo processados ', len(paths))
     for p in paths:
         text = open(p, 'r')
         rows.append({
             'nome_arquivo': p,
             'texto_publicacao': ' '.join([line for line in text])
         })
     df = pd.DataFrame(rows, index=[i for i in range(len(rows))])
     df.to_csv(path_csv_final, index=False)
예제 #6
0
dicionario_expressoes_2 = {
    'manutencao_posse':
    r'manuten\w{2}o\s+d[ea]\s+posse',
    'reintegracao_posse':
    r'reintegra\w{2}o\s+d[ea]\s+posse',
    'interdito_proibitorio':
    r'interdito\s+proibit\wrio',
    'turbacao_esbulho_ameaca':
    r'esbulh|amea\wa|turba',
    'coletiva':
    r'ocupantes|invasor[ea]s|desconhecid[oa]s|fam[ií]lias|morador[ea]s|invadiram|ocuparam|amea[cç]aram|esbulharam|turbaram'
}

rows = []
rec = recursive_folders()
paths = rec.find_files(ini_path)
for f in paths:
    if f[-3:] == 'csv':
        print(f)
        try:
            df = pd.read_csv(os.path.join(ini_path, f))
        except Exception as e:
            print(e)
            continue
        for _, row in df.iterrows():
            if not re.search(
                    r'manuten\w{2}o\s+d[ea]\s+posse|reintegra\w{2}o\s+d[ea]\s+posse|interdito\s+proibit\wrio',
                    row['texto_publicacao'], re.S | re.I):
                continue
            flag = True