sexta-feira, 19 de dezembro de 2008

Descobrindo a concorrência do Concurso SECAD TO 2008 Parte 2

Descobri dentro de um grupo de discussão aqui do Tocantins, Os Informáticos do Tocantins, que alguem(Paulo Rafael) tinha descoberto de outra maneira a concorrência do concurso SECAD TO 2008. Então aqui a baixo está o arquivo, e em seguida como ele fez para descobrir:

Veja a concorrência do concurso SECAD TO 2008 para Palmas, depois coloco para outras regiões também.

Explicação do Paulo Rafael

"Muita gente está perguntando como foi que eu fiz para saber essa concorrência, para não haver dúvida vou explicar melhor:
Primeiramente eu peguei o PDF com mais de 2000 página e converti para excel através de um programa chamado "Able2ExtractPro", como o excel só tem 65536 linha, ele converteu até o seu limite e continuou o restante na plan2, depois eu peguei esse dados e passei para um banco de dado do "Microsoft Access", fiz todos os tratamentos, tirei espaços e tal.
Quando o banco já estava todo normalizado eu fiz uma consulta em SQL:
SELECT Count(INSCRICOES_DEFERIDAS.INSCRICAO) AS QTD_INSCRICAO, INSCRICOES_DEFERIDAS.NUM_CARGO, INSCRICOES_DEFERIDAS.CARGO, INSCRICOES_DEFERIDAS.CIDADE_VAGA FROM INSCRICOES_DEFERIDAS
GROUP BY INSCRICOES_DEFERIDAS.NUM_CARGO, INSCRICOES_DEFERIDAS.CARGO, INSCRICOES_DEFERIDAS.CIDADE_VAGA;

Essa consulta conta todos os inscritos, agrupando por cargo e cidade. Depois eu peguei no edital de publicação a quantidade de vagas, para cada cardo de determinada cidade, fiz a mesma coisa, converti para excel, juntei os dois e fiz a divisão do quantitativos de inscritos pelas vagas dibolibilizadas."

terça-feira, 9 de dezembro de 2008

grep e pdftotxt "Tentam" descobrir a concorrencia do Concurso SECAD TO 2008

OAnexo I do Concurso Público para Provimento de Cargos do Quadro Geral de Servidores do Poder Executivo do Estado de Tocantins - 2008, que esta no site da Unitins, contém a relaçao de todos os inscritos deste concurso e suas respectivas vagas e código da vaga. Mas esqueceram de colocar uma relação com a concorrencia (candidatos / vaga).
Contar cargo por cargo em mais de 2100 paginas é um trabalho pra doido.
Para facititar esta tarefa temos duas ferramentas que podem ajudar muito.
Uma é pdftotext, que converte um arquivo de extencao PDF para texto puro, faça assim:
pdftotext arquivo.pdf arquivo.txt
Para nosso caso podemos utilizar assim
pdftotext [63364420737614750]anexoI.pdf anexoI.txt
Agora com o comando grep tem a capacidade de buscar e contar a ocorrencia de "palavras" dentro de arquivos de texto puro. Por exemplo vamos verificar a ocorrencia do cargo Analista em Tecnologia da Informação, dentro do arquivo anexoI.txt desta maneira
grep --count "Analista em Tecnologia da Informação"
anexoI.txt
E a resposta foi 464, ou seja, 464/107(vagas) aproximadamente 4 candidatos por vaga...
Ops! Hei, mas tem vaga para Analista em Tecnologia da Informação em vários outros Municipios!
Essa foi apenas uma tentativa de data mining frustada... mas pelo menos pode-se descobrir a quantidade de inscritos por cargo.
O problema está na conversão que o pdftotext faz, pois os dados estão tabulados (em tabelas), quando o pdftotext pega o texto de uma tabela ele passa primeiro na primeira coluna e depois vai para a próxima coluna. Se a primeira coluna tem nomes, os nomes são colocados um do lado do outro na mesma linha.
Observação: os comandos grep e pdftotext estão disponíves para GNU/Linux, recomendo o livro Comandos do Linux da Novatec