TypeScript में CSV के साथ काम करना: लाइब्रेरीज़ और कोड उदाहरण

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

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

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

TypeScript में CSV के साथ काम करना: पूर्ण गाइड



CSV (Comma-Separated Values) — टेबुलर डेटा के आदान-प्रदान के लिए सबसे आम फ़ॉर्मेट में से एक है। TypeScript इकोसिस्टम में कई शक्तिशाली लाइब्रेरीज़ उपलब्ध हैं जो टाइप्स के पूर्ण समर्थन के साथ CSV फ़ाइलों को पढ़ने, लिखने और रूपांतरित करने की अनुमति देती हैं। इस लेख में हम मुख्य टूल्स, उनकी स्थापना और व्यावहारिक उदाहरणों पर चर्चा करेंगे।



CSV के साथ काम करने के लिए लोकप्रिय लाइब्रेरीज़



TypeScript/Node.js वातावरण में सबसे अधिक उपयोग की जाने वाली लाइब्रेरीज़:



  • csv-parse — csv सेट का हिस्सा, स्ट्रीम समर्थन के साथ विश्वसनीय पार्सर
  • papaparse — ब्राउज़र और Node.js के लिए सार्वभौमिक पार्सर
  • csv-stringify — ऐरे/ऑब्जेक्ट से CSV जनरेटर
  • csvtojson — टाइपिंग के साथ CSV को JSON में कनवर्टर


स्थापना और सेटअप



TypeScript प्रोजेक्ट्स के लिए, npm या yarn के माध्यम से स्थापना की जाती है:



npm install csv-parse csv-stringify papaparse @types/papaparse


यदि आप csv-parse का उपयोग करते हैं, तो अतिरिक्त टाइप्स की आवश्यकता नहीं है — लाइब्रेरी में TypeScript के लिए अंतर्निहित समर्थन है।



उदाहरण 1: csv-parse के साथ CSV पार्सिंग



csv-parse लाइब्रेरी stream API के कारण बड़ी फ़ाइलों के साथ काम करने के लिए उपयुक्त है। आइए एक बुनियादी उदाहरण देखें:



import { parse } from 'csv-parse/sync';import * as fs from 'fs';

interface User { id: number; name: string; email: string; age: number;}

const csvData = fs.readFileSync('users.csv', 'utf-8');

const records: User[] = parse(csvData, { columns: true, // पहली पंक्ति — हेडर skip_empty_lines: true, delimiter: ',', cast: (value, context) => { if (context.column === 'id' || context.column === 'age') { return Number(value); } return value; }});

console.log(records);// [// { id: 1, name: 'इवान', email: 'ivan@example.com', age: 30 },// { id: 2, name: 'मारिया', email: 'maria@example.com', age: 25 }// ]


उदाहरण 2: टाइपिंग के साथ CSV जनरेशन



CSV फ़ाइलें बनाने के लिए csv-stringify का उपयोग करें। आइए डेटा प्रकार परिभाषित करें और एक स्ट्रिंग जनरेट करें:



import { stringify } from 'csv-stringify/sync';

interface Product { productId: string; name: string; price: number; inStock: boolean;}

const products: Product[] = [ { productId: 'P001', name: 'लैपटॉप', price: 75000, inStock: true }, { productId: 'P002', name: 'माउस', price: 1500, inStock: false }, { productId: 'P003', name: 'कीबोर्ड', price: 3500, inStock: true }];

const csvOutput = stringify(products, { header: true, columns: ['productId', 'name', 'price', 'inStock']});

console.log(csvOutput);// productId,name,price,inStock// P001,लैपटॉप,75000,true// P002,माउस,1500,false// P003,कीबोर्ड,3500,true


उदाहरण 3: ब्राउज़र में PapaParse का उपयोग



PapaParse क्लाइंट-साइड CSV प्रोसेसिंग के लिए आदर्श है। input के माध्यम से फ़ाइल अपलोड करने का उदाहरण:



import Papa from 'papaparse';

interface Transaction { date: string; amount: number; category: string; description: string;}

const fileInput = document.getElementById('csvInput') as HTMLInputElement;

fileInput.addEventListener('change', (event) => { const file = (event.target as HTMLInputElement).files?.[0]; if (!file) return;

Papa.parse<Transaction>(file, { header: true, dynamicTyping: true, // स्वचालित प्रकार रूपांतरण skipEmptyLines: true, complete: (result) => { console.log('पार्सिंग पूर्ण:', result.data); // result.data — Transaction ऑब्जेक्ट्स की ऐरे }, error: (error) => { console.error('पार्सिंग त्रुटि:', error); } });});


उदाहरण 4:

अनुशंसाएँ