Rust:
CSV এর সাথে কাজ করা

কিভাবে:

রাস্ট, এর নিরাপত্তা এবং কার্যকারিতা নিয়ে মনোনিবেশ করে, CSV ফাইল নিয়ে কাজ করার জন্য চমৎকার ক্রেটস (লাইব্রেরিস) প্রদান করে, csv হল সবচেয়ে জনপ্রিয়। আপনার serde এরও প্রয়োজন হবে ডাটা সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করার জন্য।

প্রথমে, আপনার Cargo.toml ফাইলে নির্ভরতাসমূহ যোগ করুন:

[dependencies]
csv = "1.1"
serde = { version = "1.0", features = ["derive"] }

CSV পড়া

একটি CSV ফাইল পড়ার জন্য, আপনার ডাটাকে প্রতিনিধিত্ব করে এমন একটি কাঠামো (struct) সংজ্ঞায়িত করুন এবং serde থেকে Deserialize প্রাপ্ত করুন:

use serde::Deserialize;
use std::error::Error;
use std::fs::File;
use std::io;
use std::process;

#[derive(Debug, Deserialize)]
struct Record {
    city: String,
    state: String,
    population: u64,
}

fn read_from_csv(file_path: &str) -> Result<(), Box<dyn Error>> {
    let file = File::open(file_path)?;
    let mut rdr = csv::Reader::from_reader(file);

    for result in rdr.deserialize() {
        let record: Record = result?;
        println!("{:?}", record);
    }
    Ok(())
}

fn main() {
    if let Err(err) = read_from_csv("cities.csv") {
        println!("উদাহরণ চালানো সমস্যা হয়েছে: {}", err);
        process::exit(1);
    }
}

শহরের তথ্য সম্বলিত একটি CSV ফাইলের জন্য নমুনা আউটপুট হিসেবে দেখাতে পারে:

Record { city: "Seattle", state: "WA", population: 744955 }
Record { city: "New York", state: "NY", population: 8336817 }

CSV তে লিখুন

CSV ফাইলে লেখার জন্য, একটি কাঠামো সংজ্ঞায়িত করুন এবং Serialize প্রাপ্ত করুন:

use serde::Serialize;
use std::error::Error;
use std::fs::File;

#[derive(Serialize)]
struct Record {
    city: String,
    state: String,
    population: u64,
}

fn write_to_csv(file_path: &str, records: Vec<Record>) -> Result<(), Box<dyn Error>> {
    let file = File::create(file_path)?;
    let mut wtr = csv::Writer::from_writer(file);

    for record in records {
        wtr.serialize(&record)?;
    }
    wtr.flush()?;
    Ok(())
}

fn main() -> Result<(), Box<dyn Error>> {
    let records = vec![
        Record {
            city: "Los Angeles".into(),
            state: "CA".into(),
            population: 3979563,
        },
        Record {
            city: "Chicago".into(),
            state: "IL".into(),
            population: 2695598,
        },
    ];

    write_to_csv("output.csv", records)?;

    Ok(())
}

এটি output.csv ফাইল তৈরি করবে যাতে ডাটা থাকবে:

city,state,population
Los Angeles,CA,3979563
Chicago,IL,2695598

রাস্টের শক্তিশালী টাইপ সিস্টেম এবং একোসিস্টেমের শক্তিশালী ক্রেটসের সাহায্যে, CSV ডাটা নিয়ে কাজ করা দক্ষ এবং সরল হয়ে উঠে, আপনার ডাটা প্রক্রিয়াকরণ কাজে নিরাপত্তা এবং কার্যকারিতা নিশ্চিত করে।