NodeJS: чтение файла CSV с сервера sftp и преобразование его в JSON

POSIX распознает множество вариантов регулярных выражений - основных регулярных выражений (BRE) и расширенных регулярных выражений (ERE). И даже тогда есть причуды из-за исторических реализаций утилит, стандартизированных POSIX.

Не существует простого правила, когда использовать эту нотацию или даже какую нотацию использовать для данной команды.

Зайдите в книгу Джеффа Фридля , посвященной регулярным выражениям .

0
задан threxx 18 March 2019 в 13:10
поделиться

1 ответ

Вы получаете ошибку, потому что sftp.get возвращает Buffer, и вы пытаетесь передать ее функции, которая ожидает Stream.

Измените свой код на этот

let Client = require('ssh2-sftp-client');
let sftp = new Client();
var csv = require("csvtojson");

sftp.connect({
  host: 'HOST',
  port: 'PORT',
  username: 'USERNAME',
  password: 'PASSWORD'
}).then(() => {
  return sftp.get('/home/user/etc/testfile.csv');
}).then((data) => {
  csv()
    .fromString(data.toString()) // changed this from  .fromStream(data)
    .subscribe(function(jsonObj) { //single json object will be emitted for each csv line
      // parse each json asynchronousely
      return new Promise(function(resolve, reject) {
        resolve()
        console.log(jsonObj);
      })
    })
}).catch((err) => {
  console.log(err, 'catch error');
});
0
ответ дан Tarabass 18 March 2019 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: