我正在使用此包将csv转换为json,它只是提供了我想要的确切输出:

https://www.npmjs.com/package/convert-json

const csvFilePath='/FileFolder/rf/input/InvoiceUploadAuto/SupplierTestRF/test.csv'
   var options = { header: true, delimiter: ';'};

   var cv2json = require('convert-json');
   var fs = require('fs');

   var csv_trans = cv2json.csv(csvFilePath, options , function (err, result) {


  console.log(result);
   });


由此:

Kayit Tipi;Tedarikci Referans;Fatura Tarih;Odenecek Fatura Tutar;Para Birimi;Orj Vade Tarihi;Orj Fatura Tutar;Fatura No;Fatura Seri No;Belge Noter Yevmiye No;Hash Code;Fiili Vade Tarihi;Tedarikci VKN;Tedarikci Adi;Fatura Tipi;Alici IBAN;Alici VKN;Dosya Kayit Statu;Banka Kodu;Banka Sube No;Aciklama 1;Aciklama 2;Aciklama 3;
PO;obligor1;180419;500046;840;181218;500046;6200381352158587;R;;UXTrrywaeyasdAsfsYYYrwaawa0;;05890097865;SupplierTest;F;;9999987888;A;7999;;;;
PO;obligor1;180419;500046;840;181218;500046;6011931671080422;R;;UXTrrywaeyasdAsfsYYYrwaawa0;;05890097865;SupplierTest;F;;9999987888;A;7999;;;;
PO;obligor1;180419;500046;840;181218;500046;6304964161775736;R;;UXTrrywaeyasdAsfsYYYrwaawa0;;05890097865;SupplierTest;F;;9999987888;A;7999;;;;


对此:

[ { 'Kayit Tipi': 'PO',
    'Tedarikci Referans': 'obligor1',
    'Fatura Tarih': '180419',
    'Odenecek Fatura Tutar': '500046',
    'Para Birimi': '840',
    'Orj Vade Tarihi': '181218',
    'Orj Fatura Tutar': '500046',
    'Fatura No': '6200381352158587',
    'Fatura Seri No': 'R',
    'Belge Noter Yevmiye No': '',
    'Hash Code': 'UXTrrywaeyasdAsfsYYYrwaawa0',
    'Fiili Vade Tarihi': '',
    'Tedarikci VKN': '05890097865',
    'Tedarikci Adi': 'SupplierTest',
    'Fatura Tipi': 'F',
    'Alici IBAN': '',
    'Alici VKN': '9999987888',
    'Dosya Kayit Statu': 'A',
    'Banka Kodu': '7999',
    'Banka Sube No': '',
    'Aciklama 1': '',
    'Aciklama 2': '',
    'Aciklama 3': '' },
  { 'Kayit Tipi': 'PO',
    'Tedarikci Referans': 'obligor1',
    'Fatura Tarih': '180419',
    'Odenecek Fatura Tutar': '500046',
    'Para Birimi': '840',
    'Orj Vade Tarihi': '181218',
    'Orj Fatura Tutar': '500046',
    'Fatura No': '6011931671080422',
    'Fatura Seri No': 'R',
    'Belge Noter Yevmiye No': '',
    'Hash Code': 'UXTrrywaeyasdAsfsYYYrwaawa0',
    'Fiili Vade Tarihi': '',
    'Tedarikci VKN': '05890097865',
    'Tedarikci Adi': 'SupplierTest',
    'Fatura Tipi': 'F',
    'Alici IBAN': '',
    'Alici VKN': '9999987888',
    'Dosya Kayit Statu': 'A',
    'Banka Kodu': '7999',
    'Banka Sube No': '',
    'Aciklama 1': '',
    'Aciklama 2': '',
    'Aciklama 3': '' },
  { 'Kayit Tipi': 'PO',
    'Tedarikci Referans': 'obligor1',
    'Fatura Tarih': '180419',
    'Odenecek Fatura Tutar': '500046',
    'Para Birimi': '840',
    'Orj Vade Tarihi': '181218',
    'Orj Fatura Tutar': '500046',
    'Fatura No': '6304964161775736',
    'Fatura Seri No': 'R',
    'Belge Noter Yevmiye No': '',
    'Hash Code': 'UXTrrywaeyasdAsfsYYYrwaawa0',
    'Fiili Vade Tarihi': '',
    'Tedarikci VKN': '05890097865',
    'Tedarikci Adi': 'SupplierTest',
    'Fatura Tipi': 'F',
    'Alici IBAN': '',
    'Alici VKN': '9999987888',
    'Dosya Kayit Statu': 'A',
    'Banka Kodu': '7999',
    'Banka Sube No': '',
    'Aciklama 1': '',
    'Aciklama 2': '',
    'Aciklama 3': '' } ]


非常好...

但是,如果我给它超过600行的csv,它就会死机了!并不是太大,我研究了这个包的源代码,它使用了fs.createReadStream,这应该不是问题。

可能是什么问题?还有没有这个csv大小限制的我想要输出的另一个软件包吗?

最佳答案

你可以尝试csvtojson

https://www.npmjs.com/package/csvtojson

样例代码:

const csv=require('csvtojson'),
  csvFilePath = 'csv file path'
csv({
  delimiter: ";"
})
.fromFile(csvFilePath)
.then((jsonObject)=>{
    console.log(jsonObject)
})

关于json - CSV太大时,CSV至JSON npm包失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51391213/

10-09 00:29