Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Read data from csv file to a data structure format

by Tux (Abbot)
on May 18, 2012 at 07:17 UTC ( #971229=note: print w/replies, xml ) Need Help??

in reply to Read data from csv file to a data structure format

Like this?

use v5.14; use warnings; use autodie; use Text::CSV_XS; use Data::Peek; my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1 }); my $hdr = $csv->getline (*DATA); $csv->column_names ($hdr); my ($pn, $pc, @comp) = @$hdr; my %comp = map { $_ => {} } @comp; while (my $row = $csv->getline_hr (*DATA)) { my $p = $row->{$pc}; $comp{$_}{$p} = $row->{$_} for @comp; } DDumper \%comp; __END__ Product Name,Product Code,Company1,Company2,Company3 Test One,C001,Y,N,N Test Two,C002,N,N,Y Test Three,C003,Y,Y,N => { Company1 => { C001 => 'Y', C002 => 'N', C003 => 'Y' }, Company2 => { C001 => 'N', C002 => 'N', C003 => 'Y' }, Company3 => { C001 => 'N', C002 => 'Y', C003 => 'N' } }

Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^2: Read data from csv file to a data structure format
by Anonymous Monk on May 18, 2012 at 07:56 UTC
    Thanks a lot for your help.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://971229]
[marto]: 1nickt the worst I'm aware of at the moment :P
LanX .♩..♬ ... Another one bites the Sahara dust ...
marto wonders what fresh hell the firefox update has brought, apart from maxing out CPUs
1nickt was looking into Firefox Extended Support releases yesterday. You don't have to go with the updates!
[erix]: wonderfully red sun here
[LanX]: FF has become a source of instability :(
[1nickt]: erix not so wonderful for the lungs :-(
[erix]: the stuff is pretty high up as I understand it; I have not felt any effect on lungs/breathing

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (10)
As of 2017-10-17 12:29 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (230 votes). Check out past polls.