in reply to Reformat RAW Excel Data
Good start. You will need to be able to match month names (jan, feb, etc) to month numbers in your dates. You can simplify that by filling the 0th position in the array with a dummy value. Then the month number will equal the index into the array.
Next you need to design the data structure to hold your report. Here's an idea: a hash keyed by the customer name containing a reference to an array of sales by month.
use strict; use warnings; use Data::Dumper; my @months = qw/dummy jan feb mar apr may jun jul aug sep oct nov dec/ +; my (%report,$cust,$value,$date); while (<DATA>) { chomp; if (/^[A-Z]/) { $cust = $_; next; } ($date, $value) = split ' ',$_; my ($mon, $year) = split '/',$date; $report{$cust}[$mon] = $value; } print Dumper(\%report); __DATA__ CUSTA 1/2015 100 10/2015 1,000 12/2015 1,000 CUSTB 2/2015 100 10/2015 1,000 12/2015 100
This is incomplete, of course. For instance, I'm ignoring the year values in your data.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Reformat RAW Excel Data
by 1nickt (Canon) on Jan 11, 2016 at 21:58 UTC | |
by techjohnny (Novice) on Jan 12, 2016 at 01:12 UTC | |
by 1nickt (Canon) on Jan 12, 2016 at 03:45 UTC |