Reemplazar palabras por número
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Hola a todos, mi problema es el siguiente: tengo un archivo llamado enero.dat; donde no hay dato aparece un NaN (not a number), yo tengo que hacer gráficas con este archivo y el programa que utilizo no lo reconoce y tengo que reemplazarlos por 0 (ceros). Y son más de medio millón de datos y unos 50 mil corresponden a NaN y reemplazarlos uno por uno sería muy engorroso y demoroso. He hecho muchos script y no he podido reemplazar los NaN por ceros, por eso les pido una ayudita.
Acá les muestro un extracto del archivo enero.dat en donde salen algunos NaN:
Y este es uno de los tantos scripts que he hecho:
Les agradezco cualquier tipo de ayuda y adiós...
Acá les muestro un extracto del archivo enero.dat en donde salen algunos NaN:
- Código: Seleccionar todo
2005 1 24 11 11.65 40.98 5.02 143.03 -1.118 745.4
2005 1 24 12 12.57 41.48 4.71 152.10 -0.135 745.5
2005 1 24 13 NaN NaN NaN NaN NaN NaN
2005 1 24 14 15.26 27.96 2.33 187.83 -3.143 745.6
Y este es uno de los tantos scripts que he hecho:
Using perl Syntax Highlighting
#!/usr/bin/perl
open (DATOS, "<enero.dat");
open (ARCHIVOS, ">enero_cero.dat");
while($lineas=<DATOS>){
chop($lineas);
@datos=split(" ",$lineas);
if ($datos eq NaN) {
NaN == 0;
print ARCHIVOS "@datos\n";
}
}
close (DATOS);
open (DATOS, "<enero.dat");
open (ARCHIVOS, ">enero_cero.dat");
while($lineas=<DATOS>){
chop($lineas);
@datos=split(" ",$lineas);
if ($datos eq NaN) {
NaN == 0;
print ARCHIVOS "@datos\n";
}
}
close (DATOS);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Les agradezco cualquier tipo de ayuda y adiós...