Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
Vários :)
http://sao-paulo.pm.org/artigo/2011/CSVENTREPIPEEDBMS

ABS()



2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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?

 Abraços

 --
 --
 Manoel Domingues Junior
 Coletar dados é o primeiro passo para a sabedoria, mas compartilhar
 dados é o primeiro passo para a comunidade.
 IBM - Prodigy Linux
 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Cleysinho
Ola eu uso Class::CSV

use Class::CSV;

my $csv = Class::CSV-new(
  fields = [qw/userid username/]
);

$csv-add_line([2063, 'testuser1']);
$csv-add_line([2064, 'testuser2']);
$csv-add_line([2065, 'testuser3']);
$csv-add_line([2066, 'testuser4']);
$csv-add_line([2067, 'testuser5']);
$csv-add_line([2068, 'testuser6']);


$csv-print();

Pode ser que ajude-o.

Em 1 de junho de 2012 11:17, Stanislaw Pusep creakt...@gmail.com escreveu:

 Vários :)
 http://sao-paulo.pm.org/artigo/2011/CSVENTREPIPEEDBMS

 ABS()




 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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?

 Abraços

 --
 --
 Manoel Domingues Junior
 Coletar dados é o primeiro passo para a sabedoria, mas compartilhar
 dados é o primeiro passo para a comunidade.
 IBM - Prodigy Linux
 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




-- 
**
.: Inteligência Coletiva :.
Uma inteligência distribuída por toda parte: tal é o nosso axioma inicial.
Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
humanidade’. (Pierre Lévy)
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico breno
2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
Breno,

Me pareceu q ele quer fazer uma tabela relacionando os dados da 1a coluna
com os da 1a linha...
Tipo assim:

   Pedro Manoel  Manoel XJoão XPedro   X

É isso?

Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 11:47, breno br...@rio.pm.org escreveu:

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Manoel Domingues Junior
Exatamente isso. Relacionar a primeira coluna com a primeira linha.

A geração de matrizes assim para visualização de dados tem um nome, só
não consigo lembrar...

Abraços

Em 01/06/12, Fernando Oliveirafernandocor...@gmail.com escreveu:
 Breno,

 Me pareceu q ele quer fazer uma tabela relacionando os dados da 1a coluna
 com os da 1a linha...
 Tipo assim:

Pedro Manoel  Manoel XJoão XPedro   X

 É isso?

 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 11:47, breno br...@rio.pm.org escreveu:

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




-- 
--
Manoel Domingues Junior
Coletar dados é o primeiro passo para a sabedoria, mas compartilhar
dados é o primeiro passo para a comunidade.
IBM - Prodigy Linux
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
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 creakt...@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 br...@rio.pm.org

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
s/exita/exista/



Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 12:32, Fernando Oliveira
fernandocor...@gmail.comescreveu:

 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 creakt...@gmail.comescreveu:

 @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 br...@rio.pm.org

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
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
fernandocor...@gmail.comescreveu:

 s/exita/exista/




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 12:32, Fernando Oliveira 
 fernandocor...@gmail.comescreveu:

 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 creakt...@gmail.comescreveu:

 @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 br...@rio.pm.org

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
menor:

perl
-lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=;;say,keys%l;say$_,@{$c{$_}}[values%l]for
keys%c' tabela.txt

Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 12:56, Fernando Oliveira
fernandocor...@gmail.comescreveu:

 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 
 fernandocor...@gmail.comescreveu:

 s/exita/exista/




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 12:32, Fernando Oliveira 
 fernandocor...@gmail.comescreveu:

 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 creakt...@gmail.comescreveu:

 @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 br...@rio.pm.org

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm





___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{say join;,X=keys%m;say
join;,$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

ABS()



2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 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 
 fernandocor...@gmail.comescreveu:

 s/exita/exista/




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 12:32, Fernando Oliveira 
 fernandocor...@gmail.comescreveu:

 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 creakt...@gmail.comescreveu:

 @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 br...@rio.pm.org

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm





 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{say join;,X=keys%m;say
join;,$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt



Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 13:00, Stanislaw Pusep creakt...@gmail.com escreveu:

 perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{say join;,X=keys%m;say
 join;,$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
Mas é claro!

perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say X=keys%m;say
$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

ABS()



On Fri, Jun 1, 2012 at 1:03 PM, Fernando Oliveira
fernandocor...@gmail.comwrote:

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{say join;,X=keys%m;say
 join;,$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 13:00, Stanislaw Pusep creakt...@gmail.comescreveu:

  perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{say join;,X=keys%m;say
 join;,$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
perl -F\; -lanE'$,=;;++$m{$F[0]}{$F[1]}}{say
X=keys%m;say$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt



Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{say join;,X=keys%m;say
 join;,$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
menor ainda ;)

perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{$,=;;say X=keys%m;say
$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

ABS()



2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 menor:

 perl
 -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=;;say,keys%l;say$_,@{$c{$_}}[values%l]for
 keys%c' tabela.txt


 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 12:56, Fernando Oliveira 
 fernandocor...@gmail.comescreveu:

 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 
 fernandocor...@gmail.comescreveu:

 s/exita/exista/




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 12:32, Fernando Oliveira fernandocor...@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 creakt...@gmail.comescreveu:

 @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 br...@rio.pm.org

 2012/6/1 Manoel Domingues Junior manoel.domingues.jun...@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@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm






 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico breno
2012/6/1 Stanislaw Pusep creakt...@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
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{$,=;;say X=@a=keys%m;say
$_,@{$m{$_}}{@a}for@a' tabela.txt



Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 13:03, Stanislaw Pusep creakt...@gmail.com escreveu:

 perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{$,=;;say X=keys%m;say
 $_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico breno
pq chomp?

perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say X=@a=keys%m;say
$_,@{$m{$_}}{@a}for@a' tabela.txt

[]s

-b

On Fri, Jun 1, 2012 at 1:09 PM, Fernando Oliveira
fernandocor...@gmail.com wrote:
 perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{$,=;;say X=@a=keys%m;say
 $_,@{$m{$_}}{@a}for@a' tabela.txt




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 13:03, Stanislaw Pusep creakt...@gmail.com escreveu:

 perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{$,=;;say X=keys%m;say
 $_,@{$m{$_}}{keys%m}for keys%m' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
perl -lnE'/;/;$,=$;++$m{$`}{$´}}{say X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a'
tabela.txt

tinha esquecido o ;



Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 perl -lnE'/;/;$,=$++$m{$`}{$´}}{say X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a'
 tabela.txt
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
Tem algo errado




Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 perl -lnE'/;/;$,=$;++$m{$`}{$´}}{say X=@a=keys%m;say
 $_,@{$m{$_}}{@a}for@a' tabela.txt

 tinha esquecido o ;




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 perl -lnE'/;/;$,=$++$m{$`}{$´}}{say X=@a=keys%m;say
 $_,@{$m{$_}}{@a}for@a' tabela.txt



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
perl -lnE'/;/;$,=$;++$m{$`}{$'}}{say X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a
' tabela.txt


Esse funciona



Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 13:17, Fernando Oliveira
fernandocor...@gmail.comescreveu:

 Tem algo errado




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 perl -lnE'/;/;$,=$;++$m{$`}{$´}}{say X=@a=keys%m;say
 $_,@{$m{$_}}{@a}for@a' tabela.txt

 tinha esquecido o ;




 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 perl -lnE'/;/;$,=$++$m{$`}{$´}}{say X=@a=keys%m;say
 $_,@{$m{$_}}{@a}for@a' tabela.txt




___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico breno
On Fri, Jun 1, 2012 at 1:18 PM, Fernando Oliveira
fernandocor...@gmail.com wrote:
 perl -lnE'/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt


 Esse funciona


Aqui não =)
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico breno
-1
perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say
X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt


On Fri, Jun 1, 2012 at 1:19 PM, breno br...@rio.pm.org wrote:
 On Fri, Jun 1, 2012 at 1:18 PM, Fernando Oliveira
 fernandocor...@gmail.com wrote:
 perl -lnE'/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt


 Esse funciona


 Aqui não =)
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
X;Joao;Pedro;Manoel
Joao;;1;
Pedro;;;1
Manoel;;1;



Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
C:\ :(

ABS()



On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira
fernandocor...@gmail.comwrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico breno
Ha! Alguém consegue usar $' na shell sem escapar?


On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep creakt...@gmail.com wrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
Pois é... aqui no trabalho é assim... :(

Eu garanto q vc não desgostou mais q eu... :(

Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Stanislaw Pusep creakt...@gmail.com

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
bom... aqui no windows funfa... :P
no windows eu to usando o  no -e...


Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 breno br...@rio.pm.org

 Ha! Alguém consegue usar $' na shell sem escapar?



 On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep creakt...@gmail.comwrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
C:\perl -lnE$m{$`}{$'}=/;/;$,=$}{say
X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt



Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 bom... aqui no windows funfa... :P
 no windows eu to usando o  no -e...



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 Ha! Alguém consegue usar $' na shell sem escapar?



 On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep creakt...@gmail.comwrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
Em bash, pelo menos, teria que rodar como:

perl -MEnglish -lnE'$m{$`}{$POSTMATCH}=/;/;$,=$}{say
X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt

ABS()



On Fri, Jun 1, 2012 at 1:31 PM, Fernando Oliveira
fernandocor...@gmail.comwrote:

 C:\perl -lnE$m{$`}{$'}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 bom... aqui no windows funfa... :P
 no windows eu to usando o  no -e...



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 Ha! Alguém consegue usar $' na shell sem escapar?



 On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep creakt...@gmail.comwrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
Então façamos como arquivo:

#!perl -ln
$m{$`}{$'}=/;/;$,=$}{print X=@a=keys%m;print$_,@{$m{$_}}{@a}for@a



Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Stanislaw Pusep creakt...@gmail.com

 Em bash, pelo menos, teria que rodar como:

 perl -MEnglish -lnE'$m{$`}{$POSTMATCH}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt

 ABS()




 On Fri, Jun 1, 2012 at 1:31 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE$m{$`}{$'}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 bom... aqui no windows funfa... :P
 no windows eu to usando o  no -e...



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 Ha! Alguém consegue usar $' na shell sem escapar?



 On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep creakt...@gmail.comwrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
Se a segunda coluna tiver mais elementos inexistentes na 1a, esses não
aparecem.
Continuamos assim? ou voltamos do inicio?


Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 Mas e então? O arquivo foi aceito?

 E tem mais uma coisa: desde a 1a tacada do Stanislaw, se os elementos de
 antes do ; forem diferentes do de depois, a tabela fica errada...


 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 Então façamos como arquivo:

 #!perl -ln
 $m{$`}{$'}=/;/;$,=$}{print X=@a=keys%m;print$_,@{$m{$_}}{@a}for@a



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Stanislaw Pusep creakt...@gmail.com

 Em bash, pelo menos, teria que rodar como:

 perl -MEnglish -lnE'$m{$`}{$POSTMATCH}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt

 ABS()




 On Fri, Jun 1, 2012 at 1:31 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE$m{$`}{$'}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 bom... aqui no windows funfa... :P
 no windows eu to usando o  no -e...



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 Ha! Alguém consegue usar $' na shell sem escapar?



 On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep 
 creakt...@gmail.comwrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
Bom, nova tacada, voltando aos requisitos originais:

#!perl -ln
/;/;$,=$;$l{$'}//=$i++;$c{$`}[$l{$'}]=1}{print X=keys%l;print
$_,@{$c{$_}}[values%l]for keys%c

Just another Perl Hacker,
Fernando (SmokeMachine)


Em 1 de junho de 2012 14:54, Manoel Domingues Junior 
manoel.domingues.jun...@gmail.com escreveu:

 Eu ainda estou testando todas as alternativas dadas e tentando entender
 algumas...rsrs

 Em tese, a primeira coluna e primeira linha não tem relação uma com as
 outras, ou seja, os dados podem se repetir ou não...

 Estava pensando em usar o Text::CSV para adicionar um elemento (no caso
 1) na posicao $1 $2, onde:

 ($a0,$a1) = (Manoel,João)

 Se der erro, vejo se a coluna existe, se existir adiciono a linha, senão
 existir adiciono a coluna...

 Acho que assim vai... estou testando...

 Abraços,

 Em 1 de junho de 2012 14:45, Fernando Oliveira 
 fernandocor...@gmail.comescreveu:

 Se a segunda coluna tiver mais elementos inexistentes na 1a, esses não
 aparecem.
 Continuamos assim? ou voltamos do inicio?



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 Mas e então? O arquivo foi aceito?

 E tem mais uma coisa: desde a 1a tacada do Stanislaw, se os elementos de
 antes do ; forem diferentes do de depois, a tabela fica errada...


 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 Então façamos como arquivo:

 #!perl -ln
 $m{$`}{$'}=/;/;$,=$}{print X=@a=keys%m;print$_,@{$m{$_}}{@a}for@a



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Stanislaw Pusep creakt...@gmail.com

 Em bash, pelo menos, teria que rodar como:

 perl -MEnglish -lnE'$m{$`}{$POSTMATCH}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt

 ABS()




 On Fri, Jun 1, 2012 at 1:31 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE$m{$`}{$'}=/;/;$,=$}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 bom... aqui no windows funfa... :P
 no windows eu to usando o  no -e...



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 Ha! Alguém consegue usar $' na shell sem escapar?



 On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep 
 creakt...@gmail.com wrote:

 C:\ :(

 ABS()



 On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira 
 fernandocor...@gmail.com wrote:

 C:\perl -lnE/;/;$,=$;++$m{$`}{$'}}{say
 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a tabela.txt
 X;Joao;Pedro;Manoel
 Joao;;1;
 Pedro;;;1
 Manoel;;1;



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 breno br...@rio.pm.org

 perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=;;say

 X=@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm





 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 --
 --
 Manoel Domingues Junior
 Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados
 é o primeiro passo para a comunidade.
 IBM - Prodigy Linux


 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Fernando Oliveira
#!perl -ln
/;/;$c{$`}[$l{$'}//=$i++]=1;$,=$;}{print
X=keys%l;print$_,@{$c{$_}}[values%l]for keys%c



Just another Perl Hacker,
Fernando (SmokeMachine)


2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 #!perl -ln
 /;/;$,=$;$l{$'}//=$i++;$c{$`}[$l{$'}]=1}{print
 X=keys%l;print$_,@{$c{$_}}[0..$i]for keys%c



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 15:06, Fernando Oliveira 
 fernandocor...@gmail.comescreveu:

 /;/;$,=amp;;$l{
 }//=$i++;$c{[$l{}]=1}{print X=keys%l;print
 $_,@{$c{$_}}[values%l]for keys%c



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Marco Lima
$c{$`}[$l{$'}//=$i++]=/;/;$,=$;}{say
X=keys%l;say$_,@{$c{$_}}[values%l]for keys%c

=P

Marco Lima
braun.l...@gmail.com
im:m...@jabber-br.org

Register Linux User #483170
Slackware Linux, for the subgenius

Aquele que pensa que é demasiado grande para fazer trabalhos pequenos
é talvez demasiado pequeno para realizar grandes trabalhos.

Ter acesso ao conhecimento é um dever de todos; transmitir
conhecimento é um dever de quem tem.

Na visão do hacker, o sentido da vida está em dedicar-se a uma
paixão. Esta paixão é, na realidade, uma atividade significativa,
inspiradora e prazerosa para o indivíduo, seja ela rotulada como
trabalho ou como diversão.

Ninguém é tão grande que não possa aprender, e nem tão pequeno que
não possa ensinar

Compartilhe o seu conhecimento. É uma maneira de alcançar a imortalidade


2012/6/1 Fernando Oliveira fernandocor...@gmail.com:
 Menor:

 #!perl -ln
 $c{$`}[$l{$'}//=$i++]=/;/;$,=$;}{print
 X=keys%l;print$_,@{$c{$_}}[values%l]for keys%c


 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 #!perl -ln
 /;/;$c{$`}[$l{$'}//=$i++]=1;$,=$;}{print
 X=keys%l;print$_,@{$c{$_}}[values%l]for keys%c



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 2012/6/1 Fernando Oliveira fernandocor...@gmail.com

 #!perl -ln
 /;/;$,=$;$l{$'}//=$i++;$c{$`}[$l{$'}]=1}{print
 X=keys%l;print$_,@{$c{$_}}[0..$i]for keys%c



 Just another Perl Hacker,
 Fernando (SmokeMachine)


 Em 1 de junho de 2012 15:06, Fernando Oliveira fernandocor...@gmail.com
 escreveu:

 /;/;$,=amp;;$l{
 }//=$i++;$c{[$l{}]=1}{print X=keys%l;print
 $_,@{$c{$_}}[values%l]for keys%c





 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm