[Rio-pm] Tratamento de dados para CSV

breno breno em rio.pm.org
Sexta Junho 1 09:09:01 PDT 2012


2012/6/1 Stanislaw Pusep <creaktive em gmail.com>:
> @breno, infelizmente, se for um "CSV" gerado por algumas ferramentas de
> escritório cujo nome não quero citar nessa lista, expressão regular não
> basta, já dizia o brian d
> foy: http://www.effectiveperlprogramming.com/blog/1386

Ah, claro, vale tudo em "CSV", só imaginei que o Manoel tinha algum
controle sobre os dados de entrada =)

-----------------------8<-----------------------
use strict;
use warnings;
use utf8;

my @linhas = (
    'Manoel;Pedro',
    'João;Pedro',
    'Pedro;Manoel',
);

my @header = qw( X Pedro Manoel );
my @result  = ();

foreach (@linhas) {
    my @colunas = split /\s*;\s*/;

    my @nova;
    foreach my $i ( 1 .. $#header ) {
        $nova[$i-1] = $colunas[1] eq $header[$i] ? 1 : '';
    }

    {
        no warnings 'uninitialized';
        push @result, join ';' => $colunas[0], @nova;
    }
}
----------------------->8-----------------------

Isso atende? Caso sim, dá licença então que vou brincar de golfe :)

[]s

-b


Mais detalhes sobre a lista de discussão Rio-pm