Skip to main content
Parse CSV strings into the Data structure expected by @graphysdk/core.

fromCSV

import { fromCSV } from '@graphysdk/data-import-utils/csv';

const data = fromCSV('Name,Revenue\nAcme,1000\nGlobex,2000');
const data = fromCSV('Name;Revenue\nAcme;1000\nGlobex;2000'); // semicolon-delimited

Signature

function fromCSV(input: string, options?: DelimitedParseOptions): Data

Options

hasHeader
boolean
default:"true"
Whether the first row contains column headers. When false, columns are auto-named Column 1, Column 2, etc.
locale
VizLocale
default:"EN_US"
Locale for number parsing. Determines thousand/decimal separator conventions. For example, 'PT_PT' treats 1.000,50 as 1000.5.
maxFileSize
number
default:"5"
Maximum allowed input size in megabytes. Throws an error if the input exceeds this limit.

Examples

Without Headers

const data = fromCSV('Acme,1000\nGlobex,2000', { hasHeader: false });
// Columns auto-named: "Column 1", "Column 2"

European Number Format (semicolon-delimited)

const csv = `Produto;Receita
Widgets;1.234,56
Gadgets;7.890,12`;

const data = fromCSV(csv, { locale: 'PT_PT' });
// Receita values parsed as 1234.56 and 7890.12
The CSV delimiter is auto-detected (comma, semicolon, pipe, etc.). For tab-separated data, you can also use fromTSV.