def convert_file(file_in, sep_in,file_out,sep_out):
"""
Change the separator of elements in a file.
Assume ther existence of a header. Warning: the separator must be just that: a separator!
"""
f_in = open(file_in)
header_in = f_in.readline()
body_in = f_in.readlines()
f_in.close()
f_out = open(file_out,'w')
f_out.write(header_in)
body_out = [line_in.replace(sep_in,sep_out) for line_in in body_in]
f_out.writelines(body_out)
f_out.close()
Simples, não é?
domingo, 13 de maio de 2012
Separações e outras complicações
Todos sabemos que os ficheiros existem sob diversos formatos. Os ficheiros de texto são muito simples e permitem guardar informação importante relativa à execução dos nossos algoritmos evolucionários. Os dados recolhidos são posteriormente tratados estatisticamente, sendo para isso necessário que o programa usado consiga importar correctamente o nosso ficheiro. Para tal temos que ter em atenção, entre outras coisas, dois aspectos: qual o símbolo usado para separar a parte inteira da parte decimal dos números e, qual o caracter separador dos diferentes valores.
No que se refere ao SPSS (ou PASW) existe um comando que nos permite verificar qual o símbolo usado para separar as partes inteira e decimal (SHOW DECIMAL) e um modo de definir esse símbolo (SET DECIMAL {DOT, COMMA}). Basta abrir uma nova janela de sintaxe (File -> New -> Syntax), escrever e executar os comandos.
Para facilitar a resolução da segunda questão podemos escrever um pequeno programa em Python que trata da questão.
Subscrever:
Enviar feedback (Atom)

Sem comentários:
Enviar um comentário