-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaggregate-years.js
36 lines (33 loc) · 1.03 KB
/
aggregate-years.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var fs = require('fs');
var csv = require('csv-parser');
var json2csv = require('json2csv');
var glob = require('glob');
var path = require('path');
var years = [
'2016-2017', '2015-2016', '2014-2015', '2013-2014',
'2012-2013', '2011-2012', '2010-2011', '2009-2010',
'2008-2009', '2007-2008', '2006-2007', '2005-2006',
'2004-2005', '2003-2004', '2002-2003', '2001-2002'
]
years.map((year) => {
var path_for_glob = `./output_data/*${ year }.tsv`;
var output_file_name = `./output_data/${ year }.csv`;
var dataArray = [];
glob.sync(path_for_glob).forEach((file, i)=>{
fs.createReadStream(file)
.pipe(csv({ separator: '\t' }))
.on('data', function (row) {
var team = file.split('-20')[0].split('data/')[1]
// console.log('team', team);
row.Season = year;
row.Team = team;
// console.log('row', row)
dataArray.push(row)
})
.on('end', function(){
var result = json2csv({ data: dataArray, fields: Object.keys(dataArray[0]) });
fs.writeFileSync(output_file_name, result);
});
})
dataArray = [];
})