Skip to main content
Home

@std/csv@1.0.6
Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score100%
Downloads24,449/wk
Published10 months ago (1.0.6)

Reading and writing of comma-separated values (CSV) files

Classes

c
CsvParseStream<T extends CsvParseStreamOptions | undefined = undefined>(options?: T)

CsvParseStream transforms a stream of CSV-encoded text into a stream of parsed objects.

c
CsvStringifyStream<TOptions extends CsvStringifyStreamOptions>(options?: TOptions)

Convert each chunk to a CSV record.

Functions

f
parse<T extends ParseOptions>(
input: string,
options?: T
): ParseResult<ParseOptions, T>
3 overloads

Parses CSV string into an array of arrays of strings.

f
stringify(
data: readonly DataItem[],
options?: StringifyOptions
): string

Converts an array of objects into a CSV string.

Interfaces

I

Options for CsvParseStream.

  • columns: readonly string[]

    List of names used for header definition.

  • comment: string

    Character to start a comment.

  • Enabling checking number of expected fields for each row.

  • lazyQuotes: boolean

    Allow unquoted quote in a quoted field or non-double-quoted quotes in quoted field.

  • separator: string

    Character which separates values.

  • skipFirstRow: boolean

    If you provide skipFirstRow: true and columns, the first line will be skipped. If you provide skipFirstRow: true but not columns, the first line will be skipped and used as header definitions.

  • Flag to trim the leading space of the value.

I

Options for CsvStringifyStream.

  • columns: Array<string>

    A list of columns to be included in the output.

  • separator: string

    Delimiter used to separate values.

I

Options for parse.

  • columns: readonly string[]

    List of names used for header definition.

  • comment: string

    Character to start a comment.

  • Enabling checking number of expected fields for each row.

  • lazyQuotes: boolean

    Allow unquoted quote in a quoted field or non-double-quoted quotes in quoted field.

  • separator: string

    Character which separates values.

  • skipFirstRow: boolean

    If you provide skipFirstRow: true and columns, the first line will be skipped. If you provide skipFirstRow: true but not columns, the first line will be skipped and used as header definitions.

  • Flag to trim the leading space of the value.

Type Aliases

T
Column = ColumnDetails | PropertyAccessor | PropertyAccessor[]

The most essential aspect of a column is accessing the property holding the data for that column on each object in the data array. If that member is at the top level, Column can simply be a property accessor, which is either a string (if it's a plain object) or a number (if it's an array).

T
ColumnDetails = { header?: string; prop: PropertyAccessor | PropertyAccessor[]; }

Column information.

  • header: string
    No documentation available
  • prop: PropertyAccessor | PropertyAccessor[]
    No documentation available
T
DataItem = Readonly<Record<string, unknown> | unknown[]>

An object (plain or array)

T
ParseResult<ParseOptions, T> = T extends
ParseOptions
& { columns: readonly (infer C extends string)[]; }
? RecordWithColumn<C>[] : T extends ParseOptions & { skipFirstRow: true; } ? Record<string, string>[] : T extends
ParseOptions
& { columns?: undefined; skipFirstRow?: false | undefined; }
? string[][] : Record<string, string>[] | string[][]

Parse result type for parse and CsvParseStream.

T
PropertyAccessor = number | string

Array index or record key corresponding to a value for a data object.

T
RecordWithColumn<C extends string> = string extends C ? Record<string, string> : Record<C, string>

Record type with column type.

T
RowType<T> = T extends undefined ? string[] : ParseResult<CsvParseStreamOptions, T>[number]

Row return type.

T
StringifyOptions = { headers?: boolean; separator?: string; columns?: readonly Column[]; bom?: boolean; }

Options for stringify.

  • bom: boolean

    Whether to add a byte-order mark to the beginning of the file content. Required by software such as MS Excel to properly display Unicode text.

  • columns: readonly Column[]

    A list of instructions for how to target and transform the data for each column of output. This is also where you can provide an explicit header name for the column.

  • headers: boolean

    Whether to include the row of headers or not.

  • separator: string

    Delimiter used to separate values. Examples:

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@std/csv

Import symbol

import * as mod from "@std/csv";
or

Import directly with a jsr specifier

import * as mod from "jsr:@std/csv";