Reading selective values from *.csv file in Perl

Hi,
I have a *.csv file that looks like this. I need to ignore Rows 1-5
and start reading from Row 6. From Row 6 I need only Column1, Column
3, Column4 and so on....(has about 35 values in each row).


RED - Letters in Red auto-populate columns from left to right.            
Color Code - Yellow Field name boxes in yellow are fields required
Color Code - Gray Field name boxes in gray are fields are optional            
Color Code - Green Field name boxes in green are optional fields
Color Code - Orange Field name boxes in orange indicate d - refer etc
44383      Ontario Dork Canal      288      1398 Malheur Ave      TAC31NT
44384      Ontario Dork Canal      288      1398 Malheur Ave      TAC31NT       
44385      Ontario Dork Canal      288      1398 Malheur Ave      TAC31NT


Previously, I used to copy manually the values I wanted to the
input.csv file. But, now I want to read directly from the source file
and avoid the extra step.

My code looks like this

open FILE, "input.csv";

while (<FILE>) {
      chomp;
      my ($col1, $col2, $col3, $col4, $col6) = split (/\,/);
}
LVL 1
nparthiAsked:
Who is Participating?
 
josephfluckigerConnect With a Mentor Commented:
How about this:
-------------------------------
open FILE, "input.csv";
my $rowCount=0;
while (<FILE>) {
     $rowCount++;
     next if $rowCount < 6; # this skips the first 5 rows.
     chomp;
     my ($col1, $col2, $col3, $col4, $col6) = split (/\,/);
}
-------------------------------

Does the raw input file have commas in it, or tab characters (your sample file doesn't , but your code does).
0
 
FishMongerCommented:
Your example csv file doesn't have any commas!

open FILE, "input.csv";

for (1..5) {$junk = <DATA>; undef $junk;}  # Throw away the first 5 rows

while (<DATA>) {
   chomp;
# use this next line only if you don't use the previous for loop
   next if ($. < 6)
   @col = split ",";  # split the row and put it into an array
# process the array
}
0
 
FishMongerCommented:
Oops, I used the built-in DATA file handle and forgot to change that part of the code to FILE when I posted.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.