Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/meh/cesso

CSV handling library for Elixir.
https://github.com/meh/cesso

Last synced: 22 days ago
JSON representation

CSV handling library for Elixir.

Awesome Lists containing this project

README

        

cesso - CSV parser for Elixir
=============================
Simple library to parse CSV lazily, especially made to parse huge exported
databases.

Examples
--------

```elixir
use Cesso

CSV.decode(~s)
|> IO.inspect # => [["lol", "wut"]]

# string columns are supported
CSV.decode(~s)
|> IO.inspect # => [["lol", "wut,omg"]]

# they can also span multiple lines
CSV.decode(~s)
|> IO.inspect # => [["lol", "wut\nomg", "hue"]]

# you can also specify a different separator
CSV.decode(~s, separator: "|||")
|> IO.inspect # => [["lol", "wut"]]

# the first row can be used as column names
CSV.decode(~s, columns: true)
|> IO.inspect [[{ "a", "lol" }, { "b", "wut" }]]

# otherwise you can pass the column names
CSV.decode(~s, columns: ["a", "b"])
|> IO.inspect [[{ "a", "lol" }, { "b", "wut" }]]

# you can also parse a file
CSV.decode(File.stream!("db.csv"))
```