Wednesday 31 May 2017

Parse csv and insert into mysql with Sequelize

Hi,I'm trying to parse a csv file and then insert the data into mysql with sequelize. Code below: var fs = require('fs'); var csv = require('csv'); var Device = require('./models').Device var input = fs.createReadStream('./csv/test.csv'); var parser = csv.parse({ delimiter: ',', columns: true }) var transform = csv.transform(function(row) { var resultObj = { model_name: row['Model Name'], imei: row['IMEI#'], serial_number: row['S/N #'], meid: row['MEID#'], esn: row['ESN#'], mac_address: row['MAC#'], exfactory_date: row['Ex-Factory date'], po_number: row['PO#'], packaging_number: row['CN#'] , sw_version: row['Software version'], fw_version: row['Hardware version'], hw_version: row['S/N #'].slice(2, 4) } Device.create({resultObj}) .then(function() { console.log('Record created') }) .catch(function(err) { console.log('Error encountered: ' + err) }) }) input.pipe(parser).pipe(transform) After running this code, new rows are inserted into the db, but they are all 'null'. I can't quite figure out why - can someone explain to me please?

Submitted May 31, 2017 at 01:05PM by raccoonranger73

No comments:

Post a Comment