本帖最後由 twaiho2003 於 2016-4-8 15:50 編輯
Save as csv, 用node.js 解
var fs = require('fs')
var z = 1 //change this value to the column you want to count, start from zero. For example, column C equal to 2
var object1 = {}
var array1 = []
fs.readFile("source.csv", function(err, data) {
if (err) {
console.log(err)
}
var rows = String(data).split("\r\n")
for (var x=0;x<rows.length;x++) {
var fields = rows[x].split(",")
var field = String(fields[z]).split(" ")
for (var y=0;y<field.length;y++) {
if (object1[field[y]] == undefined) {
object1[field[y]] = 1
} else {
object1[field[y]]++
}
}
}
for (var key in object1) {
array1.push({"name":key, "value":object1[key]})
}
array1.sort(function (a,b) {
if (a.value > b.value) {
return -1;
}
if (a.value < b.value) {
return 1;
}
return 0;
})
fs.writeFile("sorted.json", JSON.stringify(array1, null, 4), 'binary', function(err){
if (err) throw err
})
console.log(array1)
}) |