Elixir:
CSV के साथ काम करना
कैसे करें:
Elixir, अपनी शक्तिशाली पैटर्न मिलान और पाइपलाइनिंग के समर्थन के साथ, तीसरे पक्ष की लाइब्रेरियों के बिना भी CSV फाइलों को कुशलतापूर्वक संभाल सकती है। हालाँकि, अधिक उन्नत आवश्यकताओं के लिए, nimble_csv
लाइब्रेरी एक तेज़ और सरल विकल्प है।
बिना बाह्य लाइब्रेरियों के CSV फाइल पढ़ना
Elixir के बिल्ट-इन फंक्शन्स का उपयोग करके आप एक CSV फाइल पढ़ और पार्स कर सकते हैं:
defmodule CSVReader do
def read_file(file_path) do
File.stream!(file_path)
|> Stream.map(&String.trim_trailing/1)
|> Stream.map(&String.split(&1, ","))
|> Enum.to_list()
end
end
# नमूना प्रयोग
CSVReader.read_file("data.csv")
# आउटपुट: [["हैडर1", "हैडर2"], ["पंक्ति1मान1", "पंक्ति1मान2"], ["पंक्ति2मान1", "पंक्ति2मान2"]]
एक CSV फाइल में लिखना
इसी तरह, एक CSV फाइल में डेटा लिखने के लिए:
defmodule CSVWriter do
def write_to_file(file_path, data) do
File.open(file_path, [:write], fn file ->
Enum.each(data, fn row ->
IO.write(file, Enum.join(row, ",") <> "\n")
end)
end)
end
end
# नमूना प्रयोग
data = [["हैडर1", "हैडर2"], ["मान1", "मान2"], ["मान3", "मान4"]]
CSVWriter.write_to_file("output.csv", data)
# Creates output.csv with the data formatted as CSV
nimble_csv
का उपयोग करना
अधिक जटिल CSV संभालने के लिए, nimble_csv
CSV डेटा के साथ काम करने का एक शक्तिशाली और लचीला तरीका प्रदान करता है। पहले, अपने mix.exs
में nimble_csv
को अपनी निर्भरताओं में जोड़ें और mix deps.get
चलाएं:
defp deps do
[
{:nimble_csv, "~> 1.2"}
]
end
nimble_csv
के साथ CSV डेटा पार्सिंग:
defmodule MyCSVParser do
NimbleCSV.define(MyParser, separator: ",", escape: "\\")
def parse(file_path) do
file_path
|> File.stream!()
|> MyParser.parse_stream()
|> Enum.to_list()
end
end
# नमूना प्रयोग
MyCSVParser.parse("data.csv")
# आउटपुट nimble_csv के साथ आपके पार्सर सेटअप पर निर्भर करता है, लेकिन यह आमतौर पर एक सूची के सूचियों या जोड़ों की तरह दिखता है।
nimble_csv
का उपयोग करके CSV डेटा लिखना सही प्रारूप में अपने डेटा को मैन्युअली बदलने और फिर इसे एक फाइल में लिखने की आवश्यकता है, मूल Elixir उदाहरण की तरह, लेकिन सही प्रारूपित CSV पंक्तियों के उत्पादन के लिए nimble_csv
का लाभ उठाना।
अपने कार्य की जटिलता के लिए उपयुक्त दृष्टिकोण का चयन करके, आप Elixir में CSV फाइलों को बहुत लचीलापन और शक्ति के साथ संभाल सकते हैं।