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():
    cursor = cursorConexao()
    ext = extracao_variaveis()
    # path_tutelas = '/home/danilo/Downloads/csvs_tutelas'
    # for file in os.listdir(path_tutelas):
    # 	colunas = ['tribunal','numero','data','texto']
    # 	df_tutelas = pd.read_csv(path_tutelas+'/'+file, sep=',', quotechar='"', encoding = 'utf8', header=None, names=colunas)
    # 	for index, row in df_tutelas.iterrows():
    # 		if len(row['texto']) < 6000:
    # 			if re.search(r'(antecipa..o.{1,20}tutela|tutela.{1,20}emerg.ncia|tutela.{,20}antecipada)',row['texto']):
    # 				cursor.execute('INSERT INTO diarios.tutela_saude (tribunal, numero, data, texto) values ("%s","%s","%s","%s");' % (row['tribunal'],str(row['numero']).replace('\n',''),row['data'],row['texto'].replace('\n','').replace('"','')))
    # cursor.execute('select id, tribunal, numero, data, texto from diarios.tutela_saude;')
    # dados = cursor.fetchall()
    # df = ext.variaveis_textos(ext.var_bool, dados)
    # df['data'] = pd.to_datetime(df['data'], format='%d.%m.%Y', errors='coerce')
    # df.to_csv('relatorio_booleano_cnj_02_nov_2018_tutelas.csv',quotechar='"', index= False)

    import sys
    path_tutelas = '/media/danilo/66F5773E19426C79/publicações_saúde.csv'
    dados = []
    df = pd.read_csv(path_tutelas, chunksize=1000)
    for chunk in df:
        for index, row in chunk.iterrows():
            if re.search(
                    r'(concedo|autorizo|defiro).{1,30}(antecipa..o.{1,20}tutela|tutela.{1,20}emerg.ncia|tutela.{,20}antecipada)',
                    row['texto_publicacao']) and not re.search(
                        r'penal', row['texto_publicacao'], re.I):
                dados.append(
                    (row['id'], row['tribunal'], row['numero_processo'],
                     row['data'], row['texto_publicacao']))
    df = ext.variaveis_textos(ext.var_bool, dados)
    df.to_csv('relatorio_booleano_cnj_03_jan_2019_tutelas.csv',
              quotechar='"',
              index=False)
def csv_base(filepath):
    cursor = cursorConexao()
    df = pd.read_csv(filepath, error_bad_lines=False)
    for index, row in df.iterrows():
        # if not re.search(r'penal',row['texto_publicacao'],re.I) and re.search(r'saúde|medicamento|médic',row['texto_publicacao'],re.I) and re.search(r'(concedo|autorizo|defiro).{1,30}(antecipa..o.{1,20}tutela|tutela.{1,20}emerg.ncia|tutela.{,20}antecipada|liminar)',row['texto_publicacao'].lower(),flags=re.DOTALL|re.I):
        if re.search(r'aliena.{1,15}fiduciária',
                     row['texto_publicacao'].lower(), re.DOTALL):
            cursor.execute(
                'INSERT INTO diarios.publicacoes_diarias (tribunal, texto_publicacao, nome_arquivo, data, numero_processo) VALUES ("%s","%s","%s","%s","%s")'
                % (row['tribunal'], row['texto_publicacao'].replace(
                    '\n', ' ').replace('"', '').replace('\\', ''),
                   row['nome_arquivo'], row['data'], row['numero_processo']))
Пример #4
0
def csv_base(filepath):
    cursor = cursorConexao()
    df = pd.read_csv(filepath, error_bad_lines=False)
    for _, row in df.iterrows():
        # if not re.search(r'penal',row['texto_publicacao'],re.I) and re.search(r'saúde|medicamento|médic',row['texto_publicacao'],re.I) and re.search(r'(concedo|autorizo|defiro).{1,30}(antecipa..o.{1,20}tutela|tutela.{1,20}emerg.ncia|tutela.{,20}antecipada|liminar)',row['texto_publicacao'].lower(),flags=re.DOTALL|re.I):
        if re.search(
                r'previdenciário|inss|instituto nacional.{1,5}seguro social|previdência',
                row['texto_publicacao'].lower(),
                flags=re.DOTALL | re.I):
            cursor.execute(
                'INSERT INTO previdenciario.extracao (nCnj, texto_publicacao) VALUES ("%s","%s")'
                % (row['numero_processo'], row['texto_publicacao'].replace(
                    '\n', ' ').replace('"', '').replace('\\', '')))
def main(tabela, lower, upper, n):
    dados_aleatorios = []
    random.seed()
    cursor = cursorConexao()
    ids_aleatorios = random.sample(range(lower, upper), n * 2)
    contador = 0
    id_dado = 0
    while contador < n and id_dado < len(ids_aleatorios):
        cursor.execute(
            'SELECT * FROM {} where id = {} and lower(texto_decisao) like "%saúde%";'
            .format(tabela, str(ids_aleatorios[id_dado])))
        id_dado += 1
        dado = cursor.fetchall()
        if dado:
            contador += 1
            dados_aleatorios.append(dado)
    return dados_aleatorios
Пример #6
0
from crawlers.common.conexao_local import cursorConexao
from common_nlp.mNB_classification_text import mNB_classification_text
import numpy as np

cursor = cursorConexao()
cursor.execute(
    'SELECT texto_decisao, classificacao from jurisprudencia_2_inst.jurisprudencia_2_inst where classificacao is not null limit 5;'
)
dados = cursor.fetchall()
acuracia = np.array([])
for i in range(1, len(dados) - 1):
    dados_treino = dados[:i] + dados[i + 1:]
    dados_teste = dados[i]
    mNB = mNB_classification_text(dados_treino)
    for texto, class_t in dados_teste:
        if (mNB.test_mNB([texto]) == class_t):
            acuracia = 1
        else:
            acuracia = 0
        acuracia.insert(int(classificacao))
print(np.mean(acuracia))