Function stringify

  • Converts an array of objects into a CSV string.

    Parameters

    • data: readonly DataItem[]

      The source data to stringify. It's an array of items which are plain objects or arrays.

    • Optionaloptions: StringifyOptions

      Options for the stringification.

    Returns string

    A CSV string.

    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    ["Rick", 70],
    ["Morty", 14],
    ];

    assertEquals(stringify(data), `Rick,70\r\nMorty,14\r\n`);
    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    { name: "Rick", age: 70 },
    { name: "Morty", age: 14 },
    ];

    const columns = ["name", "age"];

    assertEquals(stringify(data, { columns }), `name,age\r\nRick,70\r\nMorty,14\r\n`);
    import { stringify } from "@std/csv/stringify";
    import { assertThrows } from "@std/assert/throws";

    const data = [
    { name: "Rick", age: 70 },
    { name: "Morty", age: 14 },
    ];

    assertThrows(
    () => stringify(data),
    TypeError,
    "No property accessor function was provided for object",
    );
    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    { name: "Rick", age: 70 },
    { name: "Morty", age: 14 },
    ];

    const columns = ["name", "age"];

    assertEquals(
    stringify(data, { columns, headers: false }),
    `Rick,70\r\nMorty,14\r\n`,
    );
    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    { name: "Rick", age: 70 },
    { name: "Morty", age: 14 },
    ];

    const columns = [
    { prop: "name", header: "user name" },
    "age",
    ];

    assertEquals(
    stringify(data, { columns }),
    `user name,age\r\nRick,70\r\nMorty,14\r\n`,
    );
    import {
    Column,
    stringify,
    } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    {
    age: 70,
    name: {
    first: "Rick",
    last: "Sanchez",
    },
    },
    {
    age: 14,
    name: {
    first: "Morty",
    last: "Smith",
    },
    },
    ];

    const columns: Column[] = [
    ["name", "first"],
    "age",
    ];

    assertEquals(
    stringify(data, { columns }),
    `first,age\r\nRick,70\r\nMorty,14\r\n`,
    );

    with renaming

    import {
    Column,
    stringify,
    } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    {
    age: 70,
    name: {
    first: "Rick",
    last: "Sanchez",
    },
    },
    {
    age: 14,
    name: {
    first: "Morty",
    last: "Smith",
    },
    },
    ];

    const columns: Column[] = [
    { prop: ["name", "first"], header: "first name" },
    "age",
    ];

    assertEquals(
    stringify(data, { columns }),
    `first name,age\r\nRick,70\r\nMorty,14\r\n`,
    );
    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    ["Rick", 70],
    ["Morty", 14],
    ];

    const columns = [
    { prop: 0, header: "name" },
    { prop: 1, header: "age" },
    ];

    assertEquals(
    stringify(data, { columns }),
    `name,age\r\nRick,70\r\nMorty,14\r\n`,
    );
    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [
    ["Rick", 70],
    ["Morty", 14],
    ];

    assertEquals(stringify(data, { separator: "\t" }), `Rick\t70\r\nMorty\t14\r\n`);
    import { stringify } from "@std/csv/stringify";
    import { assertEquals } from "@std/assert/equals";

    const data = [["Rick", 70]];

    assertEquals(stringify(data, { bom: true }), "\ufeffRick,70\r\n");