-
Notifications
You must be signed in to change notification settings - Fork 16
/
convert.js
50 lines (42 loc) · 1.04 KB
/
convert.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var j2c = require('json2csv')
, fs = require('fs')
, file = process.argv[2]
, _ = require('underscore')
, fields = [ // EDIT THESE
'workerId',
'postId',
'primingType',
'valenceDiff',
'time_diff_experiment'
]
, data
fs.readFile(file, 'utf8', function (err, data) {
if (err) console.log(err)
data = JSON.parse(data)
// filters any undefined data (it makes R scripting easier)
data = filterUndefined(data)
// use 'debug' for your workerId when testing experiments,
// comment out if you want to analyze data from yourself
data = filterDebug(data)
convert( data )
})
function convert(d) {
var params = {
data: d,
fields: fields
}
j2c(params, function(err, csv) {
if (err) console.log(err)
console.log(csv)
})
}
function filterUndefined (arr) {
return _.filter(arr, function(row) {
return _.every(fields, function(f) { return row[f] })
})
}
function filterDebug (arr) {
return _.filter(arr, function(row) {
return row.workerId !== 'debug'
})
}