I'm attempting to get all rows from a CSV file where a specific column is not null. Unfortunately, I'm only getting 1 row back.
For example, I'd like only rows 5, 7, and 9 to be printed.
row 1-4 : myColumn is null
row 5 : myColumn = 'ABC'
row 6 : myColumn is null
row 7 : myColumn = 'CDE'
row 8 : myColumn is null
row 9 : myColumn is 'EFG'
My expected results are:
ABC
CDE
EFG
Instead, my results are:
ABC
Here's the code I am using:
my $parser = Parse::CSV->new( file => $CSV_File, sep_char => ',', names => 1, filter => sub { $_->{myColumn} ? $_ : undef } ); while ( my $row = $parser->fetch ) { my $myColumn_value = $row->{'myColumn'}; print ("$myColumn_value"); }
In reply to Filtering rows with Parse::CSV by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |