magic-csv
magic-csv is an automagic CSV parser designed to handle whatever you throw at it
Usage
MagicCSV = ;csv = trim: true; // file examplecsv; // objects examplevar ob1 = Name: 'Jimmy' Phone: 5552497 Gender: 'M';var ob2 = Name: 'Justin' Phone: 5553546 Phone2: 5557951 Gender: 'M';csv; // raw examplecsv; // write methodscsv;csv; // express responsecsv;
__Options__ ```javascript // passed to MagicCSV at instantiation (defaults shown) { trim: true, // trim values drop_bad_rows: false, // drop rows with extra fields drop_empty_rows: true, // drop rows with no data drop_duplicate_rows: false, // drop duplicate rows drop_empty_cols: false, // drop columns with no data allow_single_col: false, // allow input with only one column default_col_name: 'Unknown' // name for generated columns } ```
__Stats__ ```javascript // example object returned by csv.getStats() { line_ending: 'LF', // LF, CR, CRLF, n/a, unknown delimiter: 'comma', // comma, tab, pipe, n/a, unknown col_count: 14, row_count: 1893, empty_cols: ['Middle Name', 'Alt_Email'], duplicate_cols: {Zip: ['Zip 2']}, // repeat occurance of Zip renamed Zip 2 bad_row_indexes: [234, 759], // column shifting may have occurred here valid_col_count: 13, // column names found blank_col_count: 2, // blank column names repaired added_col_count: 1, // columns added to cover extra fields dropped_col_count: 0, dropped_row_count: 2 } ```
__Errors__
All `err` objects have a `code` property. Possible values are: * INPUT * READ * WRITE * PARSE