Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^3: Plot a chart

by poj (Vicar)
on Jul 24, 2014 at 09:44 UTC ( #1094880=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Plot a chart
in thread Plot a chart

Try reading your csv files with Text:CSV_XS, adding use strict; use warnings and some print diagnostics.

#!perl use strict; use warnings; use Spreadsheet::WriteExcel; use Text::CSV_XS; my $csv = Text::CSV_XS->new({ binary => 1, sep_char => ',', eol => "\n"}); my $xlsfile = 'c:/temp/xyz_stat1.xls'; my $workbook = Spreadsheet::WriteExcel->new($xlsfile) or die $!; my $num_files = $ARGV[0] || 0; for my $k (1..$num_files){ my $csvfile = $ARGV[$k]; print "Opening $csvfile .. "; open my $fh, '<', $csvfile or die "Cannot open $csvfile : $!"; my $sheet = $workbook->add_worksheet('sim_'.$k); my $ar = $csv->getline_all($fh); $sheet->write_col(0,0,$ar); close $fh; print scalar (@$ar). " lines read into sheet sim_$k\n"; } $workbook->close; print "$xlsfile created\n";

Comment on Re^3: Plot a chart
Select or Download Code
Replies are listed 'Best First'.
Re^4: Plot a chart
by wizsc (Initiate) on Jul 24, 2014 at 23:37 UTC

    The issue is that the numbers are being written as strings or characters, second column onward. So it's not able to print it. Either of these two fixes will work.

    1. Account for white spaces:

    my @frame_stats = split(/,\s+/,$line);

    2. Use "write_number":

    $worksheet[$k]->write_number($frm_num, $col, $el);

    Thanks a bunch for all your help!!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1094880]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (10)
As of 2015-11-30 09:55 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (769 votes), past polls