in reply to Re: Extract column of excel
in thread Extract column of excel

#!/bin/perl -w use strict; #variables you can change to suit your needs my $column_separator = ","; my $column_number = "1"; $column_number--; my $file="Working_On.csv"; open(FILE,"<","$file"); my @lines=<FILE>; close FILE; foreach my $line (@lines){ my @columns = split(/$column_separator/,"$line"); print $columns[$column_number],"\n"; }
This is my code , but it does not read the entire csv file but reads from a particular cell of csv . I am working on one sheet only but the entries in column are about 1000. So can you suggest a way that the entire csv file is read at once

Replies are listed 'Best First'.
Re^3: Extract column of excel
by hdb (Monsignor) on Jun 04, 2013 at 11:48 UTC

    Your code works fine! I have only added a chomp but that does not really make a difference...

    #!/bin/perl -w use strict; #variables you can change to suit your needs my $column_separator = ","; my $column_number = "2"; $column_number--; my @lines=<DATA>; foreach my $line (@lines){ chomp($line); my @columns = split(/$column_separator/,"$line"); print $columns[$column_number],"\n"; } __DATA__ 1,2,3,4 A,B,C,D
      Hey thank you for replying , now the problem I am having is that when code gets a blank cell it does not copy it to the array , it copies the next entry in column but I desire that even blank cells be copied as blank entry in array

        Good morning. If you do not post some sample data, it is difficult to provide meaningful suggestions. The description of your problem is inconsistent with the code you have posted.

        split does not skip any empty field, apart from trailing ones. And I cannot see any way that it would use the next entry in column, ie from the next line.