在我的meteor应用程序中,我需要导入csv文件并读取每个项目的特定颜色。 我的代码是
var fs = Npm.require('fs');
chroot = Meteor.chroot || 'uploads';
var path = chroot + (path ? '/' + path + '/' : '/');
var content = fs.readFileSync('../../../../../' + path + file_name, "utf-8", function read(err, data) {
if (err) {
throw err;
}
});
通过这个我得到我想要的。但是在某些情况下,csv文件就像
name,email,phone,designation,userid
name1,name@gmail.com,manager,LI-501
name2,name2@gmail.com,"HR,Senior manager",LI-502
我需要从每个coloumn(即第3项)中检索用户ID。 但是对于第二个条目,有一个额外的逗号用于指定,因此coloumn数字会改变。那么哪个是读取csv文件的完美方式?
答案 0 :(得分:0)
没有必要重新发明轮子,已经为node.js完成了CSV解析器。 This one看起来是最可靠的。如果你还没有这样做,你可以使用npm Meteor package在Meteor中使用npm包。
答案 1 :(得分:0)
我在HTML输入元素上使用了Ink filepicker的read方法来返回CSV文件的内容:
https://developers.inkfilepicker.com/docs/web/#read
然后我将内容传递给jQuery CSV解析器的toObjects方法,有人在这里编写了一个包:
https://atmospherejs.com/package/jquery-csv
这使我将CSV内容转换为JS对象,然后我可以根据需要进行操作。 jQuery CSV解析器中还有一个toArray方法。
您不必使用Ink filepicker来获取文件的内容,但对我来说这是一个不错的选择,因为我已经在使用它了。