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