[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