WBE_Praktikum_5/code/csv2json.js

39 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 JSON.stringify(data)
}
const startTime = Date.now()
let data = fs.readFileSync('./csv/population.csv', 'utf8')
const endTime = Date.now()
printStats('./csv/population.csv', endTime - startTime)
fs.writeFileSync('./json/population.json', csvToJson(data))