@coolgk/csv
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.7 • Public • Published

    @coolgk/csv

    a javascript / typescript module

    npm install @coolgk/csv

    read and write csv files

    Report bugs here: https://github.com/coolgk/node-utils/issues

    Examples

    import { Csv } from '@coolgk/csv';
    // OR
    // const { Csv } = require('@coolgk/csv');
     
    const csv = new Csv({
        tmpConfig: { dir: '/tmp/csv' } // optional
    });
     
    const arrayData = [
        [1,2,3,4,5],
        [6,7,7,8,9],
        [0,5,8,90,65]
    ];
     
    const objectData = [
        {col1: 'ab', col2: 'cd', col3: 'ef'},
        {col1: '2ab', col2: '2cd', col3: '2ef'},
        {col1: '3ab', col2: '3cd', col3: '3ef'}
    ];
     
    csv.createFile(
        arrayData,
        {
            columns: ['column 1', 'column 2', 'column 3', 'h4', 'h5'],
            formatter: (row) => {
                return row.map((value) => 'formatted-' + value);
            }
        }
    ).then((csvFilePath) => {
        console.log(csvFilePath); // /tmp/csv/151229255018910356N9qKqUgrpzG2.csv
        read(csvFilePath, ['column 1', 'column 2', 'column 3', 'h4', 'h5']);
    });
     
    csv.createFile(
        objectData,
        {
            columns: ['col1', 'col2', 'col3'],
            formatter: (row) => {
                return [row.col1 + '+format', row.col2 + '+format', row.col3 + '+format'];
            }
        }
    ).then((csvFilePath) => {
        console.log(csvFilePath); // /tmp/csv/151229255019910356AlO9kbzkdqjq.csv
        read(csvFilePath, ['col1', 'col2', 'col3']);
    });
     
    function read (file, columns) {
        // with columns/headers
        // read lines as object
        const lines = csv.readFile(file, {columns: columns});
        lines.forEach(
            (lineArray, index) => {
                console.log(lineArray, index);
                // {
                    // 'column 1': 'formatted-1',
                    // 'column 2': 'formatted-2',
                    // 'column 3': 'formatted-3',
                    // h4: 'formatted-4',
                    // h5: 'formatted-5'
                // } 1
            },
            (total) => {
                console.log('read done, total:', total); // read done, total: 4
            }
        );
     
        // without columns/headers
        // read lines as array
        const lines2 = csv.readFile(file);
        lines2.forEach(
            (lineArray, index) => {
                console.log(lineArray, index); // [ 'formatted-1', 'formatted-2', 'formatted-3', 'formatted-4', 'formatted-5' ] 1
            },
            (total) => {
                console.log('read done, total:', total); // read done, total: 4
            }
        );
    }
     

    Install

    npm i @coolgk/csv

    DownloadsWeekly Downloads

    2

    Version

    2.0.7

    License

    MIT

    Unpacked Size

    9.96 kB

    Total Files

    5

    Last publish

    Collaborators

    • coolgk