csv文件上传的强大工具,直接转成json数据。
发布于 2年前 作者 banther 1979 次浏览

安装模块:package.json 添加 “ya-csv":"*” 然后:切换到目录中 npm install var csv = require(‘ya-csv’); var nation = req.files.nation.path; var reader = csv.createCsvFileReader(nation, { 'separator’: ',’, 'quote’: '"’, 'escape’: '"’, 'comment’: '’, 'columnsFromHeader’: 'true’, }); reader.addListener('data’, function(data) { if (data) { Nation.create(data, function(err, nation) { if (err) { res.json({ code: 'ERR’, msg: ‘err’ + err }); }; if (nation) { nation.save(); res.json({ code: 'OK’, msg: sprintf(‘success’) }); }; }) }; }); ==================另一种上传方式 fs.readFile(fname, function(err, data) { var data = gbk_to_utf8.convert(data); var str = data.toString(); var lines = str.split(‘\r\n’); var fields_name = []; fields_name = lines.shift().split(‘,’); var items = []; for (var i = 0; i < lines.length - 1; i++) { var row = {}; var fields = lines[i].split(‘,’); row.lng = fields.shift(); row.nation_code = fields.shift(); row.nation_name = fields.shift(); items.push(row); };

            if (items) {
                Nation.create(items, function(err, nation) {
                    if (err) {
                        res.json({
                            code: 'ERR',
                            msg: 'err' + err
                        });
                    };
                    if (nation) {
                        nation.save();
                        res.json({
                            code: 'OK',
                            msg: sprintf('success')
                        });
                    };
                })
            };
        })
4 回复

那啥 应该把“ya-csv”地址贴出来啊

请问你的 Nation.create 是哪来的

Nation.是模型对象,Nation.create的意思是创建当前对象,最后保存,这都是mongoose 中的,用来操作mongodb的。

回到顶部