मैं जावास्क्रिप्ट के लिए नया हूं, शायद आप इसे समझने में मेरी मदद कर सकते हैं। csvtojson उदाहरण यहां सभी कंसोल पर लॉगिंग दिखाते हैं जो ठीक काम करता है:

https://www.npmjs.com/package/csvtojson#from-csv-file-to-json-array

const csvFilePath='<path to csv file>'
const csv=require('csvtojson')
csv()
.fromFile(csvFilePath)
.then((jsonObj)=>{
    console.log(jsonObj);
})

मेरा प्रश्न है - मैं इस दायरे के बाहर jsonObj का उपयोग कैसे करूं? मैं बस एक साधारण वैश्विक चर चाहता हूं कि मैं बाद में स्क्रिप्ट में JSON तक पहुंच सकूं।

0
beemo 29 पद 2020, 08:30

3 जवाब

सबसे बढ़िया उत्तर

आप अपने सभी एसिंक्रोनस कोड को लपेटने के लिए IIFE (तुरंत आमंत्रित फ़ंक्शन अभिव्यक्ति) का उपयोग कर सकते हैं और मान को वैश्विक चर में संग्रहीत कर सकते हैं और एसिंक्रोनस आईआईएफई के अंदर पहुंच सकते हैं। मूल्य को स्टोर करने के लिए और इसे किसी भी स्थान से एक्सेस करने के लिए जहां आपको परिणाम की प्रतीक्षा करनी है और फिर जेएस की एसिंक्रोनस और सिंगल थ्रेड प्रकृति के कारण मूल्य को एक्सेस करना है।

const csv = require('csvtojson');

let arr = [];

(async function () {
    const json = await csv().fromFile('./demo.csv');
    await arr.push(json);
    console.log(arr);
})()
2
Apratim 29 पद 2020, 18:00

आप "कन्वर्ट-एक्सेल-टू-जेसन" एनपीएम पैकेज का उपयोग कर सकते हैं। एक उदाहरण इस प्रकार है:

'use strict';
const excelToJson = require('convert-excel-to-json');
 
const result = excelToJson({
    sourceFile: 'SOME-EXCEL-FILE.xlsx'
});
 
// result will be an Object containing keys with the same name as the sheets found on the excel file. Each of the keys will have an array of objects where each of them represents a row of the container sheet. e.g. for a excel file that has two sheets ('sheet1', 'sheet2')
{
    sheet1: [{
        A: 'data of cell A1',
        B: 'data of cell B1',
        C: 'data of cell C1'
    }],
    sheet2: [{
        A: 'data of cell A1',
        B: 'data of cell B1',
        C: 'data of cell C1'
    }]
}

फिर आप कहीं भी परिणाम वस्तु का उपयोग कर सकते हैं।

1
Harsh Bharvada 29 पद 2020, 09:01

आप async और await का उपयोग करने का प्रयास कर सकते हैं, बस कुछ कोड लिखें जिन्हें आप IIFE में निष्पादित करना चाहते हैं, उदाहरण:

  const csvFilePath = './aCSV.csv';
  const csv = require('csvtojson');
    
  // a IIFE
  (async () => {
    const jsonObj = await csv().fromFile(csvFilePath);
    console.log(jsonObj);
    // [ { a: '1', b: '2', c: '3' }, { a: '4', b: '5', c: '6' } ]
  })();
1
Clark 29 पद 2020, 09:01