41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
|
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)
|
||
|
|