[Rio-pm] Tratamento de dados para CSV

Fernando Oliveira fernandocorrea em gmail.com
Sexta Junho 1 08:34:30 PDT 2012


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/a8263c4a/attachment.html>


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