diff --git a/code/csv2json.js b/code/csv2json.js new file mode 100644 index 0000000..2a03983 --- /dev/null +++ b/code/csv2json.js @@ -0,0 +1,40 @@ +const fs = require('fs') + +const printStats = function(path, timeToRead) { + fs.stat(path, (err, stats) => { + if (err) { + console.error(err) + return + } + console.log("Size: " + stats.size) + console.log("Last change: " + stats.mtime) + console.log("Number of lines: " + (data.length - 1)) + console.log("Time to read: " + timeToRead) + fs.time + }) + } + +const csvToJson = function(data) { + data = data.split("\n") + attributes = data.shift() + attributes = attributes.split(",") + data = data.map(element => { + element = element.split(",") + const obj= {} + for (let i = 0; i < attributes.length; i++) { + obj[attributes[i]] = element[i] + } + return obj + }) + return data +} + + +const startTime = Date.now() +let data = fs.readFileSync('./csv/population.csv', 'utf8') +const endTime = Date.now() +console.log(csvToJson(data)) +printStats('./csv/population.csv', endTime - startTime) + +fs.writeFileSync('./json/population.json', data) +