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

কিভাবে:

রুবি ডিফল্ট হিসেবে CSV লাইব্রেরি অন্তর্ভুক্ত করে, যা CSV ফাইল থেকে পড়া এবং তাতে লেখাকে সরলীকৃত করে। এখানে কিভাবে সাধারণ কাজের জন্য আপনি এটি ব্যবহার করতে পারেন:

একটি CSV ফাইল পড়া

CSV ফাইল থেকে পড়তে আপনার প্রথমে CSV লাইব্রেরি প্রয়োজন। তারপর, আপনি সারিগুলি পুনরাবৃত্তি করতে বা তাদের একটি অ্যারেতে পড়তে পারেন।

require 'csv'

# প্রতিটি সারি একটি অ্যারে হিসেবে পড়া
CSV.foreach("data.csv") do |row|
  puts row.inspect
end

# প্রতি সারির জন্য আউটপুট এরকম দেখাবে: ["data1", "data2", "data3"]

একটি CSV-এ লেখা

একটি CSV ফাইলে লেখাও সরল। আপনি একটি বিদ্যমান ফাইলে অ্যাপেন্ড করতে বা লেখার জন্য একটি নতুন ফাইল তৈরি করতে পারেন।

require 'csv'

CSV.open("output.csv", "wb") do |csv|
  csv << ["header1", "header2", "header3"]
  csv << ["value1", "value2", "value3"]
end

# এটি 'output.csv' ফাইল তৈরি করে অথবা নির্দিষ্ট হেডার এবং মানগুলির সাথে উক্ত ফাইলের উপর লিখে।

একটি CSV স্ট্রিং পার্স করা

মাঝে মাঝে আপনার সরাসরি একটি স্ট্রিং থেকে CSV ডাটা পার্স করতে হতে পারে। এখানে কিভাবে:

require 'csv'

data = "name,age,city\nJohn Doe,29,New York\nJane Doe,31,Chicago"
csv = CSV.parse(data, headers: true)

csv.each do |row|
  puts "#{row['name']} - #{row['age']} - #{row['city']}"
end

# প্রত্যাশিত আউটপুট:
# John Doe - 29 - New York
# Jane Doe - 31 - Chicago

SmarterCSV ব্যবহার করা

আরও জটিল CSV কার্যগুলির জন্য, SmarterCSV জেমটি একটি মূল্যবান টুল হতে পারে। প্রথমে, জেমটি ইনস্টল করুন:

gem install smarter_csv

তারপর, আপনি এটি বৃহত ফাইলগুলির সাথে কাজ করা বা আরও জটিল পার্সিং ও ম্যানিপুলেশন সামলানোর জন্য ব্যবহার করতে পারেন:

require 'smarter_csv'

options = {}
data = SmarterCSV.process('large_data.csv', options)

data.each do |hash|
  puts hash.inspect
end

# এটি 'large_data.csv' পড়বে এবং হেডারগুলির ভিত্তিতে প্রতিটি সারিকে একটি হ্যাশ হিসেবে আউটপুট দেবে।

সংক্ষেপে, রুবির বিল্ট-ইন CSV লাইব্রেরি, সাথে SmarterCSV এর মতো থার্ড-পার্টি জেমগুলি, CSV ডাটা সামলানোর জন্য দৃঢ় সমর্থন প্রদান করে, যা ডাটা প্রসেসিং ও ম্যানিপুলেশনের কাজের জন্য দক্ষতা নিশ্চিত করে।