Skip to main content
Version: Java (Groovy)

readCsv

The read_csv method will read a CSV file into an in-memory table.

Syntax

import io.deephaven.csv.CsvTools

readCsv(path)
readCsv(path, csvSpecs)

Parameters

ParameterTypeDescription
pathString

The file to load into a table.

header optionalDict

Define a dictionary for the header and the data type: [str, DataType]. Default is None.

headless optionalboolean
  • False (default) - first row contains header information.
  • True - first row is included in your dataset.
delimiter optionalchar

The delimiter for the file.

  • <delimiter> is the delimiter being used by the text file. Any non-newline string can be specified (i.e.,,, ;, :, \, |, etc.).
  • The default is ,.
quote optionalchar

The char surrounding a string value. Default is \".

ignore_surrounding_spaces optionalboolean

Trim leading and trailing blanks from non-quoted values. Default is True.

trim optionalboolean

Trim leading and trailing blanks from inside quoted values. Default is False.

charset optionalString

The character set. Default is utf-8.

csvSpecs optionalCsvSpecs

Specifications for how to load the CSV file.

note

Only one format parameter can be used at a time.

Returns

A new in-memory table from a CSV file.

Examples

note

In this guide, we read data from locations relative to the base of the Docker container. See Docker data volumes to learn more about the relation between locations in the container and the local file system.

In the following example, write_csv writes the source table to /data/file.csv, and read_csv loads the file into a Deephaven table.

import static io.deephaven.csv.CsvTools.readCsv
import static io.deephaven.csv.CsvTools.writeCsv

source = newTable(
stringCol("X", "A", "B", null, "C", "B", "A", "B", "B", "C"),
intCol("Y",2, 4, 2, 1, 2, 3, 4, NULL_INT, 3),
intCol("Z", 55, 76, 20, NULL_INT, 230, 50, 73, 137, 214),
)

writeCsv(source, "/data/file.csv")

result = readCsv("/data/file.csv")
note

In the following examples, the example data found in Deephaven's example repository will be used. Follow the instructions in the README to download the data to the proper location for use with Deephaven.

In the following example, read_csv is used to load the file DeNiro CSV into a Deephaven table.

import static io.deephaven.csv.CsvTools.readCsv

result = readCsv("https://media.githubusercontent.com/media/deephaven/examples/main/DeNiro/csv/deniro.csv")

In the following example, read_csv is used to load the file DeNiro TSV into a Deephaven table. The second argument, "\t", indicates that the file contains tab-separated values.

import static io.deephaven.csv.CsvTools.readCsv
import io.deephaven.csv.CsvSpecs

specs = CsvSpecs.tsv()

deniroTSV = readCsv("https://raw.githubusercontent.com/deephaven/examples/main/DeNiro/csv/deniro.tsv", specs)

Any character can be used as a delimiter. The pipe character (|) is common. In the following example, the second input parameter is used to read a pipe-delimited file into memory.

import static io.deephaven.csv.CsvTools.readCsv
import io.deephaven.csv.CsvSpecs

specs = CsvSpecs.builder().delimiter('|' as char).build()

result = readCsv("https://raw.githubusercontent.com/deephaven/examples/main/DeNiro/csv/deniro.psv", specs)