CsvSourceOps

kantan.csv.ops.CsvSourceOps
final class CsvSourceOps[A](val a: A)(implicit evidence$1: CsvSource[A])

Provides useful syntax for types that have implicit instances of CsvSource in scope.

The most common use case is to turn a value into a CsvReader:

scala> import kantan.csv._

scala> "1,2,3\n4,5,6".asCsvReader[List[Int]](rfc).toList
res0: List[ReadResult[List[Int]]] = List(Right(List(1, 2, 3)), Right(List(4, 5, 6)))

A slightly less common use case is to load an entire CSV file in memory:

scala> "1,2,3\n4,5,6".readCsv[List, List[Int]](rfc)
res1: List[ReadResult[List[Int]]] = List(Right(List(1, 2, 3)), Right(List(4, 5, 6)))

Unsafe versions of these methods are also available, even if usually advised against.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def asCsvReader[B : HeaderDecoder](conf: CsvConfiguration)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine): ResourceIterator[ReadResult[B]]

Opens a CsvReader on the underlying resource.

Opens a CsvReader on the underlying resource.

This is a convenience method only, and strictly equivalent to:

scala> import kantan.csv._

scala> CsvSource[String].reader[List[Int]]("1,2,3\n4,5,6", rfc).toList
res1: List[ReadResult[List[Int]]] = List(Right(List(1, 2, 3)), Right(List(4, 5, 6)))

Type parameters

B

type each row will be decoded as.

Value parameters

conf

CSV parsing behaviour.

Attributes

Example
scala> import kantan.csv._
scala> "1,2,3\n4,5,6".asCsvReader[List[Int]](rfc).toList
res0: List[ReadResult[List[Int]]] = List(Right(List(1, 2, 3)), Right(List(4, 5, 6)))
def asUnsafeCsvReader[B : HeaderDecoder](conf: CsvConfiguration)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine): ResourceIterator[B]

Opens an unsafe CsvReader on the underlying resource.

Opens an unsafe CsvReader on the underlying resource.

This is a convenience method only, and strictly equivalent to:

scala> import kantan.csv._

scala> CsvSource[String].unsafeReader[List[Int]]("1,2,3\n4,5,6", rfc).toList
res1: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6))

Type parameters

B

type each row will be decoded as.

Value parameters

conf

CSV parsing behaviour.

Attributes

Example
scala> import kantan.csv._
scala> "1,2,3\n4,5,6".asUnsafeCsvReader[List[Int]](rfc).toList
res0: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6))
def readCsv[C[_], B : HeaderDecoder](conf: CsvConfiguration)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine, factory: Factory[ReadResult[B], C[ReadResult[B]]]): C[ReadResult[B]]

Reads the underlying resource as a CSV stream.

Reads the underlying resource as a CSV stream.

This is a convenience method only, and strictly equivalent to:

scala> import kantan.csv._

scala> CsvSource[String].read[List, List[Int]]("1,2,3\n4,5,6", rfc)
res1: List[ReadResult[List[Int]]] = List(Right(List(1, 2, 3)), Right(List(4, 5, 6)))

Type parameters

B

type each row will be decoded as.

C

type of the collection in which the decoded CSV data will be stored.

Value parameters

conf

CSV parsing behaviour.

Attributes

Example
scala> import kantan.csv._
scala> "1,2,3\n4,5,6".readCsv[List, List[Int]](rfc)
res0: List[ReadResult[List[Int]]] = List(Right(List(1, 2, 3)), Right(List(4, 5, 6)))
def unsafeReadCsv[C[_], B : HeaderDecoder](conf: CsvConfiguration)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine, factory: Factory[B, C[B]]): C[B]

Reads the underlying resource as a CSV stream (unsafely).

Reads the underlying resource as a CSV stream (unsafely).

This is a convenience method only, and strictly equivalent to:

scala> import kantan.csv._

scala> CsvSource[String].unsafeRead[List, List[Int]]("1,2,3\n4,5,6", rfc)
res1: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6))

Type parameters

B

type each row will be decoded as.

C

type of the collection in which the decoded CSV data will be stored.

Value parameters

conf

CSV parsing behaviour.

Attributes

Example
scala> import kantan.csv._
scala> "1,2,3\n4,5,6".unsafeReadCsv[List, List[Int]](rfc)
res0: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6))

Deprecated methods

def asCsvReader[B : HeaderDecoder](sep: Char, header: Boolean)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine): ResourceIterator[ReadResult[B]]

Attributes

Deprecated
true
def asUnsafeCsvReader[B : HeaderDecoder](sep: Char, header: Boolean)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine): ResourceIterator[B]

Attributes

Deprecated
true
def readCsv[C[_], B : HeaderDecoder](sep: Char, header: Boolean)(implicit evidence$1: HeaderDecoder[B], e: ReaderEngine, factory: Factory[ReadResult[B], C[ReadResult[B]]]): C[ReadResult[B]]

Attributes

Deprecated
true
def unsafeReadCsv[C[_], B : HeaderDecoder](sep: Char, header: Boolean)(e: ReaderEngine, factory: Factory[B, C[B]]): C[B]

Attributes

Deprecated
true

Concrete fields

val a: A