[Rio-pm] Tratamento de dados para CSV

Fernando Oliveira fernandocorrea em gmail.com
Sexta Junho 1 08:56:14 PDT 2012


Menor:

perl
-lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=";";say"",sort{$l{$a}<=>$l{$b}}keys%l;say$_,@{$c{$_}}[0..keys%l]for
keys%c' tabela.txt



Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 12:34, Fernando Oliveira
<fernandocorrea em gmail.com>escreveu:

> s/exita/exista/
>
>
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> Em 1 de junho de 2012 12:32, Fernando Oliveira <fernandocorrea em gmail.com>escreveu:
>
> Assumindo q exita o arquivo: tabela.txt
>> contendo:
>>
>> Manoel;Pedro
>> Joao;Pedro
>> Pedro;Manoel
>>
>> GOLF?!
>> minha 1a tacada:
>>
>> perl
>> -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{say";",join(";",sort{$l{$a}<=>$l{$b}}keys%l);say
>> join";",$_,@{$c{$_}}[0..keys%l]for keys%c' tabela.txt
>>
>>
>> Just another Perl Hacker,
>> Fernando (SmokeMachine)
>>
>>
>> Em 1 de junho de 2012 12:00, Stanislaw Pusep <creaktive em gmail.com>escreveu:
>>
>> @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
>>> @cleysinho, bacana o Class:CSV, pelo que entendi, é uma interface
>>> "user-friendly" para o Text::CSV que, apesar de funcionar muito bem, é
>>> bastante prolixo. Um módulo que tentei usar recentemente é o Parse::CSV,
>>> porém ele, como já diz o nome, apenas lê o CSV (também via Text::CSV).
>>>
>>> ABS()
>>>
>>>
>>>
>>>
>>> 2012/6/1 breno <breno em rio.pm.org>
>>>
>>>> 2012/6/1 Manoel Domingues Junior <manoel.domingues.junior em gmail.com>:
>>>> > Olá pessoal,
>>>> >
>>>> > Estou com um dificuldade em encontrar um módulo no cpan que me ajude a
>>>> > fazer a geração de uma matriz...
>>>> >
>>>> > Eu obtenho os dados de um software no seguinte formato:
>>>> > Manoel;Pedro
>>>> > João;Pedro
>>>> > Pedro;Manoel
>>>> > ....
>>>> >
>>>> > Esses dados eu gostaria de colocar em uma matriz do tipo:
>>>> > X; Pedro;Manoel;
>>>> > Manoel; 1;;
>>>> > João;1;;
>>>> > Pedro;;1;
>>>> >
>>>> > Alguém conhece algum módulo que me permita fazer isso?
>>>> >
>>>>
>>>> Manoel,
>>>>
>>>> desculpa a pergunta, mas "isso" o quê? Pode ser pq ainda não acordei
>>>> direito, mas não entendi o que vc está fazendo...
>>>>
>>>> Supondo que vc tem uma lista na forma:
>>>>
>>>> my @linhas = (
>>>>    'Manoel;Pedro',
>>>>    'João;Pedro',
>>>>    'Pedro;Manoel',
>>>> );
>>>>
>>>> você pode gerar uma nova lista fazendo algo como:
>>>>
>>>> my @nova = ();
>>>>
>>>> foreach my $linha (@linhas) {
>>>>    my @campos = split /\s*;\s*/ => $linha;
>>>>
>>>>    # modifique @campos como bem entender...
>>>>
>>>>    push @nova, join ';' => @campos;
>>>> }
>>>>
>>>> é isso?
>>>>
>>>>
>>>> []s
>>>>
>>>> -b
>>>> _______________________________________________
>>>> Rio-pm mailing list
>>>> Rio-pm em pm.org
>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>
>>>
>>>
>>> _______________________________________________
>>> Rio-pm mailing list
>>> Rio-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120601/65e2f15e/attachment-0001.html>


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