CSVImporter क्या है और इसकी आवश्यकता क्यों है?
CSVImporter Swift (iOS/macOS) के लिए एक हल्की-फुल्की लाइब्रेरी है जो CSV फ़ाइलों के आयात, पार्सिंग और निर्यात को सरल बनाती है। मानक Foundation के विपरीत, CSVImporter बड़े टेबल डेटा को संसाधित करने, विभाजकों को स्वचालित रूप से पहचानने और एन्कोडिंग के साथ काम करने के लिए तैयार उपकरण प्रदान करता है। यह लाइब्रेरी उन अनुप्रयोगों के लिए आदर्श है जहाँ बाहरी स्रोतों से डेटा लोड करने की आवश्यकता होती है: लेखा रिपोर्ट, संपर्क सूचियाँ, मशीन लर्निंग के लिए डेटासेट या कॉन्फ़िगरेशन फ़ाइलें।
स्थापना (Installation)
CSVImporter Swift Package Manager के माध्यम से स्थापित किया जाता है। Package.swift में निर्भरता जोड़ें:
.package(url: "https://github.com/Flinesoft/CSVImporter.git", from: "1.9.0")या Xcode के माध्यम से: File → Add Packages → रिपॉजिटरी का URL पेस्ट करें.
मुख्य कार्य
- स्वचालित विभाजक पहचान — कॉमा, सेमीकोलन, टैब सपोर्ट करता है।
- स्ट्रीमिंग पार्सिंग — पूरी फ़ाइल को मेमोरी में लोड किए बिना किसी भी आकार की फ़ाइलों को संसाधित करता है।
- एन्कोडिंग सपोर्ट — UTF-8, Windows-1251, ISO Latin-1.
- लचीला टाइपिंग — स्ट्रिंग्स को Int, Double, Date और कस्टम स्ट्रक्चर में बदलना।
- निर्यात — डिक्शनरी ऐरे से CSV बनाना।
Swift में कोड उदाहरण
import CSVImporter
// फ़ाइल से आयातlet path = Bundle.main.path(forResource: "data", ofType: "csv")!let importer = CSVImporter<[String]>(path: path)let records = importer.importRecords { $0 } // [["Name", "Age"], ["Alice", "30"], ...]
// हेडर के साथ पार्सिंगlet structured = importer.importRecords { record in return Person(name: record[0], age: Int(record[1]) ?? 0)}
// निर्यातlet data = [["Name", "Age"], ["Bob", "25"]]let csvString = data.csvString() // "Name,AgeBob,25"try? csvString.write(to: URL(fileURLWithPath: "/tmp/output.csv"), atomically: true, encoding: .utf8)CSVImporter का उपयोग कब करें?
- Excel/Google Sheets से टेबल डेटा के साथ काम करते समय।
- वित्तीय विश्लेषण, इन्वेंट्री ट्रैकिंग या सांख्यिकी रखने वाले अनुप्रयोगों में।
- सेवाओं के बीच डेटा माइग्रेट करते समय (उदाहरण के लिए, CSV से संपर्क आयात करना)।
- लॉग या कॉन्फ़िगरेशन को संसाधित करने के लिए macOS उपयोगिताओं में।
लाइब्रेरी स्थिर है, इसमें 100% टेस्ट कवरेज है और 2016 से समुदाय द्वारा समर्थित है। iOS 13+, macOS 10.15+ के लिए उपयुक्त है।
```