Node.js में CSV के साथ कार्य: csv-parser और csv-writer लाइब्रेरीज़

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Node.js में CSV के साथ कार्य: csv-parser और csv-writer लाइब्रेरीज़

\n\n

CSV (Comma-Separated Values) सारणीबद्ध डेटा को संग्रहीत और आदान-प्रदान करने के लिए सबसे लोकप्रिय प्रारूपों में से एक है। Node.js पारिस्थितिकी तंत्र में इस प्रारूप के साथ काम करने के लिए कई उपकरण मौजूद हैं। इस लेख में, हम दो सबसे सुविधाजनक और हल्की लाइब्रेरीज़ पर विचार करेंगे: पढ़ने के लिए csv-parser और CSV फ़ाइलें लिखने के लिए csv-writer।

\n\n

लाइब्रेरीज़ की स्थापना

\n\n

आरंभ करने के लिए, npm के माध्यम से दोनों लाइब्रेरीज़ स्थापित करें:

\n\n
npm install csv-parser csv-writer
\n\n

csv-parser के साथ CSV फ़ाइलें पढ़ना

\n\n

csv-parser लाइब्रेरी CSV डेटा को JavaScript ऑब्जेक्ट्स की एक स्ट्रीम में बदल देती है। यह Node.js Streams पर आधारित है, जो बहुत बड़ी फ़ाइलों को भी मेमोरी में पूरी तरह लोड किए बिना कुशलतापूर्वक संसाधित करने की अनुमति देता है।

\n\n

पढ़ने का मूल उदाहरण

\n\n

निम्नलिखित सामग्री के साथ एक users.csv फ़ाइल बनाएँ:

\n\n
name,age,city\nअन्ना,28,मॉस्को\nइवान,35,सेंट पीटर्सबर्ग\nमारिया,22,कज़ान
\n\n

अब इसे csv-parser का उपयोग करके पढ़ें:

\n\n
const fs = require('fs');\nconst csv = require('csv-parser');\n\nconst results = [];\n\nfs.createReadStream('users.csv')\n  .pipe(csv())\n  .on('data', (data) => results.push(data))\n  .on('end', () => {\n    console.log('पढ़े गए रिकॉर्ड:', results.length);\n    console.log('पहला रिकॉर्ड:', results[0]);\n    // आउटपुट: { name: 'अन्ना', age: '28', city: 'मॉस्को' }\n  });
\n\n

विभाजक और हेडर का कॉन्फ़िगरेशन

\n\n

csv-parser विभिन्न सेटिंग्स का समर्थन करता है। उदाहरण के लिए, यदि आपका CSV विभाजक के रूप में अर्धविराम का उपयोग करता है:

\n\n
fs.createReadStream('users.csv')\n  .pipe(csv({ separator: ';' }))\n  .on('data', (row) => console.log(row));
\n\n

यदि फ़ाइल में हेडर नहीं हैं, तो उन्हें मैन्युअल रूप से निर्दिष्ट किया जा सकता है:

\n\n
fs.createReadStream('data.csv')\n  .pipe(csv({ headers: ['id', 'product', 'price'] }))\n  .on('data', (row) => console.log(row));
\n\n

csv-writer के साथ CSV फ़ाइलें लिखना

\n\n

csv-writer लाइब्रेरी ऑब्जेक्ट्स की सरणियों से CSV फ़ाइलें बनाने की अनुमति देती है। यह विभिन्न एन्कोडिंग और विभाजकों का समर्थन करती है।

\n\n

एक सरल CSV फ़ाइल बनाना

\n\n
const createCsvWriter = require('csv-writer').createObjectCsvWriter;\n\nconst csvWriter = createCsvWriter({\n  path: 'output.csv',\n  header: [\n    { id: 'name', title: 'नाम' },\n    { id: 'age', title: 'आयु' },\n    { id: 'city', title: 'शहर' }\n  ]\n});\n\nconst records = [\n  { name: 'अन्ना', age: 28, city: 'मॉस्को' },\n  { name: 'इवान', age: 35, city: 'सेंट पीटर्सबर्ग' },\n  { name: 'मारिया', age: 22, city: 'कज़ान' }\n];\n\ncsvWriter.writeRecords(records)\n  .then(() => console.log('CSV फ़ाइल सफलतापूर्वक बनाई गई'));
\n\n

csv-writer की अतिरिक्त सेटिंग्स

\n\n

आप फ़ील्ड विभाजक बदल सकते हैं, Excel में सिरिलिक के सही प्रदर्शन के लिए BOM जोड़ सकते हैं और एन्कोडिंग निर्दिष्ट कर सकते हैं:

\n\n
const createCsvWriter = require('csv-writer').createObjectCsvWriter;\n\nconst csvWriter = createCsvWriter({\n  path: 'output_utf8.csv',\n  header: [\n    { id: 'name', title: 'नाम' },\n    { id: 'age', title: 'आयु' }\n  ],\n  fieldDelimiter: ';',\n  alwaysQuote: true,\n  encoding: 'utf8'\n});
\n\n

व्यावहारिक उदाहरण: JSON को CSV में बदलना

\n\n

अक्सर JSON डेटा को CSV प्रारूप में बदलने का कार्य होता है। यहाँ एक पूर्ण उदाहरण है:

\n\n
const fs = require('fs');\nconst createCsvWriter = require('csv-writer').createObjectCsvWriter;\n\n// मूल डेटा\nconst jsonData = [\n  { id: 1, product: 'लैपटॉप', price: 75000, quantity: 10 },\n  { id: 2, product: 'माउस', price: 1500, quantity: 50 },\n  { id: 3, product: 'कीबोर्ड', price: 3500, quantity: 30 }\n];\n\n// CSV लेखक का कॉन्फ़िगरेशन\nconst csvWriter = createCsvWriter({\n  path: 'products.csv',\n  header: [\n    { id: 'id', title: 'आईडी' },\n    { id: 'product                    

अनुशंसाएँ