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

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

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

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

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



CSV (कॉमा-सेपरेटेड वैल्यूज़) सारणीबद्ध डेटा के आदान-प्रदान के लिए सबसे लोकप्रिय प्रारूपों में से एक है। Kotlin में, Java की तरह ही, CSV फ़ाइलों के साथ काम करने के लिए कई प्रभावी लाइब्रेरीज़ मौजूद हैं। इस लेख में हम तीन मुख्य दृष्टिकोणों पर विस्तार से चर्चा करेंगे: मूल kotlin-csv लाइब्रेरी, समय-परीक्षित OpenCSV और शक्तिशाली Apache Commons CSV। आप कोड उदाहरणों के साथ CSV डेटा को पार्स करना, लिखना और प्रोसेस करना सीखेंगे।



1. kotlin-csv लाइब्रेरी (Kotlinx.serialization)



kotlin-csv एक आधुनिक लाइब्रेरी है जो शुद्ध Kotlin में लिखी गई है। यह kotlinx.serialization के साथ पूरी तरह से एकीकृत होती है, जो CSV पंक्तियों को स्वचालित रूप से data-क्लासेज़ में मैप करने की अनुमति देती है। यह Kotlin पर नए प्रोजेक्ट्स के लिए सबसे अच्छा विकल्प है।



स्थापना

build.gradle.kts में निर्भरता जोड़ें:

dependencies {    implementation("com.github.doyaaaaaken:kotlin-csv-jvm:1.9.3")    implementation("org.jetbrains.kotlinx:kotlinx-serialization-csv:1.6.3")}


CSV पढ़ने का उदाहरण

import com.github.doyaaaaaken.kotlincsv.dsl.csvReaderimport kotlinx.serialization.Serializableimport kotlinx.serialization.csv.Csv

@Serializabledata class User(val name: String, val age: Int, val email: String)

fun readCsvWithKotlinCsv() { val csvData = """ name,age,email Alice,30,alice@example.com Bob,25,bob@test.org """.trimIndent()

// विकल्प 1: मैन्युअल पार्सिंग val rows: List<List<String>> = csvReader().readAll(csvData) rows.forEach { row -> println("नाम: ${row[0]}, आयु: ${row[1]}, ईमेल: ${row[2]}") }

// विकल्प 2: सीरियलाइज़ेशन के साथ val csv = Csv { ignoreUnknownColumns = true } val users: List<User> = csv.decodeFromString(csvData) users.forEach { println(it) }}


CSV लिखने का उदाहरण

import com.github.doyaaaaaken.kotlincsv.dsl.csvWriter

fun writeCsvWithKotlinCsv() { val data = listOf( listOf("नाम", "आयु", "शहर"), listOf("John", "28", "न्यूयॉर्क"), listOf("Jane", "32", "लंदन") ) csvWriter().open("output.csv") { writeRows(data) } println("CSV फ़ाइल सफलतापूर्वक लिखी गई।")}


2. OpenCSV लाइब्रेरी



OpenCSV एक क्लासिक Java लाइब्रेरी है जो Kotlin में बहुत अच्छी तरह से काम करती है। यह पार्सिंग के लिए लचीली क्षमताएँ प्रदान करती है, जिसमें कोटेशन हैंडलिंग, एस्केपिंग और विभिन्न विभाजकों का समर्थन शामिल है।



स्थापना

dependencies {    implementation("com.opencsv:opencsv:5.9")}


ऑब्जेक्ट्स में मैपिंग के साथ पढ़ने का उदाहरण

import com.opencsv.CSVReaderBuilderimport com.opencsv.bean.CsvToBeanBuilderimport com.opencsv.bean.HeaderColumnNameMappingStrategyimport java.io.StringReader

data class Product(val id: Int, val name: String, val price: Double)

fun readCsvWithOpenCsv() { val csvContent = """ id,name,price 1,लैपटॉप,999.99 2,माउस,25.50 """.trimIndent()

// मैन्युअल पार्सिंग val reader = CSVReaderBuilder(StringReader(csvContent)).build() reader.forEach { line -> println("आईडी: ${line[0]}, नाम: ${line[1]}, मूल्य: ${line[2]}") }

// data-क्लास में मैपिंग val strategy = HeaderColumnNameMappingStrategy<Product>() strategy.type = Product::class.java val beans = CsvToBeanBuilder<Product>(StringReader(csvContent)) .withMappingStrategy(strategy) .build() .parse() beans.forEach { println(it) }}


CSV लिखने का उदाहरण

import com.opencsv.CSVWriterimport java.io.StringWriter

fun writeCsvWithOpenCsv() { val stringWriter = StringWriter() val writer = CSVWriter(stringWriter) val

अनुशंसाएँ