2016-12-29 7 views
-1

Он обрабатывает большинство записей из CSV-файла. Однако в конце я получаю эту ошибку с модулем узла csv-parse и не могу понять, почему. Он завершает работу моего сервера, поэтому мне нужно его решить. Пожалуйста, помогитеNode.js csv-parse error mystery using Sails

events.js:160 
     throw er; // Unhandled 'error' event 
    ^

Error: Number of columns on line 37052 does not match header 
    at Error (native) 
    at Parser.__push (/Users/Development/apps/SailsJS/my-project/node_modules/csv-parse/lib/index.js:222:13) 
    at Parser._flush (/Users/Development/apps/SailsJS/my-project/node_modules/csv-parse/lib/index.js:189:12) 
    at Parser.<anonymous> (_stream_transform.js:118:12) 
    at Parser.g (events.js:291:16) 
    at emitNone (events.js:86:13) 
    at Parser.emit (events.js:185:7) 
    at prefinish (_stream_writable.js:504:12) 
    at finishMaybe (_stream_writable.js:512:7) 
    at endWritable (_stream_writable.js:524:3) 
    at Parser.Writable.end (_stream_writable.js:489:5) 
    at ReadStream.onend (_stream_readable.js:511:10) 
    at ReadStream.g (events.js:291:16) 
    at emitNone (events.js:91:20) 
    at ReadStream.emit (events.js:185:7) 
    at endReadableNT (_stream_readable.js:974:12) 
    at _combinedTickCallback (internal/process/next_tick.js:74:11) 
    at process._tickDomainCallback (internal/process/next_tick.js:122:9) 

Мой контроллер API

upload: function(req, res){ 

    req.file('statData').upload(function(error, files){ 

     var fs = require('fs'); 
     var parse = require('csv-parse'); 

     var csvData=[]; 
     var lines = 0; 

     var filePath = sails.config.appPath + '/data/file.csv'; 


     fs.createReadStream(filePath) 
      .pipe(parse({ 
       columns: false, 
       delimiter: '\t', 
       skip_empty_lines: true, 
       relax: true 
      })) 
      .on('data', function(csvrow) { 

       csvData.push(csvrow);       

      }) 
      .on('end',function() { 
       //do something wiht csvData 
      }); 
    } 

ответ

0

Я перешел на использование быстрого Csv модуля и работал.