por enric73 » 2012-03-19 11:25 @517
Hola de nuevo,
explorer, ¿qué se ha de modificar del script para que las columnas estén alienadas?, es decir que las unidades negativas también estén alineadas con las positivas?
Por ejemplo, ahora los símbolos negativos están debajo de las unidades positivas:
0.22
-1.77
y necesito que todas las unidades tanto positivas como negativas estén alineadas, no sé si me explico...
#!/usr/bin/perl
use Data::CTable;
use POSIX 'strftime';
my $tabla = Data::CTable->new(); # Objeto Data::CTable
my @archivos = </home/sam/enric/ASCII/UGRD*>; # listado de los archivos
#print "Uniendo ", scalar(@archivos), " archivos\n";
# Combinación
for my $i ( 1 .. @archivos ) { # hacemos un bucle por todos ellos
$tabla->combine_file( $archivos[$i-1], { # combinamos un archivo
_HeaderRow => 0, # que no tiene cabecera
_FieldList => [ $i ], # porque la prefabricamos
_CacheOnRead => 0, # y no queremos caché
});
}
# aquí ya tenemos toda la tabla, con todas las columnas, cuyos nombres son 1, 2, 3, ...
# Ponemos la fecha
my $largo = $tabla->length(); # cómo es de grande esa tabla
$tabla->row_set($largo, { # $largo también es el índice de la nueva fila
# (las filas se numeran de 0 a $largo-1)
1 => strftime('%Y%m%d%H', localtime), # en la primera columna de esa fila ponemos la fecha
});
$tabla->row_move($largo, 0); # y subimos la fila arriba del todo
# Salida
$tabla->write( # escribimos el resultado
_FileName => 'vientos.dat', # aquí
_FDelimiter => "\t", # y tabulado
_HeaderRow => 0, # pero sin las cabeceras prefabricadas
);