![](/img/trans.png)
[英]read all the file and store in object format in node js / javascript
[英]Javascript Node Read from CSV file and store data into object
嘗試讀取一個csv文件並將其中的數據存儲到一個對象中,然后我可以將其用於其他任務。
var csv = require('csv');
var obj = csv();
var filename = process.argv[2];
function Employee(eno, ename, sal) {
this.EmpNo = eno;
this.EmpName = ename;
this.Salary = sal;
};
var Employee = {};
obj.from.path(filename).to.array(function (data) {
for (var index = 0; index < data.length; index++) {
Employees.push(new Employee(data[index][0], data[index][1], data[index][2]));
}
});
console.log(Employee);
運行此命令時出現錯誤:
var obj = csv();
^
TypeError: csv is not a function
有任何想法嗎?
編輯:
根據下面的答案更改為此,但是無法在函數外部填充字符串:
string = {}
var lineReader = require('readline').createInterface({
input: fs.createReadStream(filename)
});
lineReader.on('line', function (line) {
var splitLine = line.split(',');
string[splitLine[0]] = {
name: splitLine[0],
dob: splitLine[1],
employeeid: splitLine[2],
country: domain,
zone: splitLine[4],
type: splitLine[5],
id: splitLine[7],
number: splitLine[8]
}
lineReader.close()
}
})
console.log(string)
查看該模塊的文檔 ,看來您不太正確地使用它。 csv
不是構造函數,而是具有應調用的方法。 有一些示例可以指導您正確使用。
來自模塊網站的回調示例;
var csv = require('csv');
csv.generate({seed: 1, columns: 2, length: 20}, function(err, data){
csv.parse(data, function(err, data){
csv.transform(data, function(data){
return data.map(function(value){return value.toUpperCase()});
}, function(err, data){
csv.stringify(data, function(err, data){
process.stdout.write(data);
});
});
});
});
如果要讀取文件,然后將內容附加到數組;
輸入項
name,age
Alex,24
Sam,99
碼
var fs = require('fs');
var csv = require('csv');
var strings = [];
var readStream = fs.createReadStream('./input.csv');
var parser = csv.parse({columns:true});
parser.on('readable', function() {
while(record = parser.read()) {
strings.push(record);
}
});
parser.on('error', function(err) {
console.log(err.message);
});
parser.on('finish', (function() {
console.log(strings);
}));
readStream.pipe(parser);
輸出量
[ { name: 'Alex', age: '24' }, { name: 'Sam', age: '99' } ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.