[Programación] Como traducir esto de perl a python...

Horacio Castellini horacio9573 en yahoo.com.ar
Lun Oct 19 17:06:20 ARST 2009


Holas...
Tengo varios códigos de leen archivos en CSV estilo "valor1","valor2",etc...
que están en perl... en realidad los había programado en AWK y luego lo traduje a perl con a2p... para ver como se podía manejar las expresiones regulares y las E/S... como para python no hay un traductor awk -- python que yo sepa... acá mando las porciones de código que quiero traducir para que alguien me de una mano,,, si puede...

los archivos tiene formato NA.Y0X donde Y está relacionado con la frecuencia de un motor y X con las repeticiones de la medición de la misma muestra... luego mientras leía el contenido del archivo en el while()... borraba las "..." y sustituía las ',' por espacios... como no se sabe la cantidad de filas de datos en el archivo esa la guardaba en la variable NR...

print "Archivo ".$ARGV[0]."\n";#Archivo que abre en lugar de STDIO!!
$frec=1;
$escala=0.03;
# Si no se dice nada usa por defecto (1,0.03)
# como argumento de entrada... OJO!
if($ARGV[0]=~/[10[1-3]/) {
	$frec=1;
	$escala=0.03;
}
if($ARGV[0]=~/20[1-3]/) {
	$frec=2;
	$escala=0.015;
}
if($ARGV[0]=~/30[1-3]/) {
	$frec=3;
	$escala=0.015;
}
if($ARGV[0]=~/40[1-3]/) {
	$frec=4;
	$escala=0.0075;
}
if($ARGV[0]=~/50[1-3]/) {
	$frec=5;
	$escala=0.0075;
}
if($ARGV[0]=~/60[1-3]/) {
	$frec=6;
	$escala=0.0045;
}
if($ARGV[0]=~/70[1-3]/) {
	$frec=7;
	$escala=0.0045;
}
#--------------
$pi=pi;
# print $pi."\n";
$w=2.0*$pi*$frec/2.0;
# print $w." ".$pi."\n";
while (<>) {
    s/\"//g;
    s/\,/ /g;
    ($Fld1,$Fld2) = split(' ', $_, 9999);
    $Y[$NR] = $Fld2;
    $X[$NR] = $Fld1;
    $X[$NR]*=$escala;
    $NR++;
}
$NR--;
....
....



      Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/


Más información sobre la lista de distribución Programacion