aboutsummaryrefslogtreecommitdiffstats
path: root/parse_report.rb
diff options
context:
space:
mode:
Diffstat (limited to 'parse_report.rb')
-rw-r--r--parse_report.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/parse_report.rb b/parse_report.rb
new file mode 100644
index 0000000..840708e
--- /dev/null
+++ b/parse_report.rb
@@ -0,0 +1,26 @@
+require "csv"
+
+csv_opts = {
+ :col_sep => ";",
+ :skip_lines => /^(Notes|The |;)/,
+ :headers => true,
+ :converters => :all,
+}
+
+sales_by_date = {}
+
+rows = CSV.foreach(ARGV[0], csv_opts)
+
+rows.each do |row|
+ d = Date.parse(row["Date"])
+ if sales_by_date[d]
+ sales_by_date[d][:count] += row["quantity"]
+ sales_by_date[d][:total] += row["revenue EUR"]
+ else
+ sales_by_date[d] = {:count => row["quantity"], :total => row["revenue EUR"]}
+ end
+end
+
+sales_by_date.each do |row|
+ p row
+end