Elixir:
Работа с CSV

Как это сделать:

Elixir изначально не включает в себя парсинг CSV в свою стандартную библиотеку, но вы можете использовать hex-пакет CSV. Вот быстрый пример, чтобы начать:

# Сначала добавьте `{:csv, "~> 2.4"}` в файл mix.exs и выполните `mix deps.get`
# Затем используйте модуль CSV следующим образом:

CSV.decode("name,age\nJohn Doe,27\nJane Smith,32", headers: true)
|> Enum.map(fn(row) -> 
  "Привет, #{row["name"]}, который имеет #{row["age"]} лет!"
end)

Пример выходных данных:

["Привет, John Doe, который имеет 27 лет!", "Привет, Jane Smith, который имеет 32 года!"]

Подробнее

CSV не новинка; он существует с начала 1970-х годов, что делает его одним из самых долговечных форматов файлов. Его простота является его главным достоинством и недостатком. Среди альтернатив — JSON, XML или бинарные форматы, такие как Protocol Buffers, каждый из которых имеет свои компромиссы в сложности, размере и читаемости. Что касается Elixir, когда вы декодируете данные CSV с использованием пакета CSV, под капотом он бесшовно обрабатывает общие проблемы, такие как преобразование типов данных, экранирование и кодировку символов.

См. также