[bcn-pm] RS: consulta per eliminar linies en blanc
jluis a escomposlinux.org
jluis a escomposlinux.org
dis ago 24 14:30:46 PDT 2013
> Hola companys,
Benvingut al grup Enric,
> Al final prefereixo posar el codis dels metars dins l'script pq en tinc
> uns quants...
>
> Dubte: algunes consultes tornen sense dades, i aleshores les lines
> corresponents queden blanques. Necessito eliminar aquestes linies
> blanques, exemple,
>....
>
> He probat d'eliminar-les afegint al codi aquesta comanda $fh =~
> s/\n+/\n/g; però no he tingut èxit. Potser he d'afegir alguna propietat
> del paquet TEXT::CSV per eliminar-les?
Em sembla que has tingut un error de concepte $fh es el identificador de
fitxer i l'expresio de sustitució no fa res.
Ficare la meva soluncio i alguns comentaris al codi que has enviat
#!/usr/bin/env perl
use strict;
use v5.10;
use LWP::Simple;
use Text::CSV;
chdir('/home/enric/csv');
# si el script ha de servir per qualsevol usuari
# chdir( "$ENV{HOME}/csv");
my $output_file = 'metar_brut.csv';
my @airports = qw( LFBD LFBF LFBH LFBL LFBO LFBZ LFKJ LFLL LFLS LFLS
FMD LFME LFMH LFMK LFML LFMN LFMO LFMP LFMU LFOH LFOP LFPB LFPG
LFPO LFPW LFQQ LFRB LFRC LFRD LFRK LFRN LFRS LFRQ LFRV LFSA LFSD
LFSF LFSN LFSR LFST
> LFTW EHAM EHEH EHGG EHRD EICK EIDW EINN );
>
>
> open my $fh, ">:encoding(utf8)", $output_file or die $!;
> my $csv = Text::CSV->new ( { binary => 1, sep_char => ' '} );
>
> for my $code ( @airports ) {
> my $page =
> "http://aviationweather.gov/adds/metars/?station_ids=$code&std_trans=standard&chk_metars=on&hoursStr=most+recent+only&submitmet=Submit";
> my $html = get( $page );
> my @data = $html =~ />(.*)<\/FONT/;
> $csv->print( $fh => [ split( ' ', $data[0] ) ] );
> #$fh =~ s/\n+/\n/g;
> print $fh "\n"
> }
>
> close $fh;
>
>
> _______________________________________________
> llista dels Barcelona-pm
> Barcelona-pm a pm.org
> http://mail.pm.org/mailman/listinfo/barcelona-pm
> BCN Perl Mongers: http://barcelona.pm.org
Més informació sobre la llista de correu Barcelona-pm