{"id":28495965,"url":"https://github.com/alykoshin/mini-csv","last_synced_at":"2025-07-02T10:31:09.475Z","repository":{"id":19309549,"uuid":"86750449","full_name":"alykoshin/mini-csv","owner":"alykoshin","description":"Parse/stringify data in CSV format","archived":false,"fork":false,"pushed_at":"2023-03-04T02:27:46.000Z","size":380,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T14:36:52.190Z","etag":null,"topics":["csv","parse","stringify"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alykoshin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-30T21:27:50.000Z","updated_at":"2021-03-30T16:52:58.000Z","dependencies_parsed_at":"2024-09-24T12:40:47.611Z","dependency_job_id":"14f3f460-342e-4f61-9372-af83233da0ad","html_url":"https://github.com/alykoshin/mini-csv","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/alykoshin/mini-csv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alykoshin%2Fmini-csv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alykoshin%2Fmini-csv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alykoshin%2Fmini-csv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alykoshin%2Fmini-csv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alykoshin","download_url":"https://codeload.github.com/alykoshin/mini-csv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alykoshin%2Fmini-csv/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260468311,"owners_count":23013883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","parse","stringify"],"created_at":"2025-06-08T11:38:20.234Z","updated_at":"2025-07-02T10:31:09.448Z","avatar_url":"https://github.com/alykoshin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm version](https://badge.fury.io/js/mini-csv.svg)](http://badge.fury.io/js/mini-csv)\n[![Build Status](https://travis-ci.org/alykoshin/mini-csv.svg)](https://travis-ci.org/alykoshin/mini-csv)\n[![Coverage Status](https://coveralls.io/repos/alykoshin/mini-csv/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/alykoshin/mini-csv?branch=master)\n[![Code Climate](https://codeclimate.com/github/alykoshin/mini-csv/badges/gpa.svg)](https://codeclimate.com/github/alykoshin/mini-csv)\n[![Inch CI](https://inch-ci.org/github/alykoshin/mini-csv.svg?branch=master)](https://inch-ci.org/github/alykoshin/mini-csv)\n\n[![Dependency Status](https://david-dm.org/alykoshin/mini-csv/status.svg)](https://david-dm.org/alykoshin/mini-csv#info=dependencies)\n[![devDependency Status](https://david-dm.org/alykoshin/mini-csv/dev-status.svg)](https://david-dm.org/alykoshin/mini-csv#info=devDependencies)\n\n\n# mini-csv\n\nParse/stringify data in CSV format\n\n\nIf you have different needs regarding the functionality, please add a [feature request](https://github.com/alykoshin/mini-csv/issues).\n\n\n## Installation\n\n```sh\nnpm install --save mini-csv\n```\n\n## Usage\n\nFile `in1.csv`:\n\n```csv\nboolean-column,number-column,string-column\nfalse,0,string0\nfalse,1,\"string1\"\ntrue,2,\"string2\"\n,,\nnull,null,null\nundefined,undefined,undefined\n```\n\nFile `examples/test1.txt`:\n\n```js\n'use strict';\n\nconst fs = require('fs');\nconst csv = require('../');\n\nconst options = {\n  header: true, // [ 'boolean', 'number', 'string' ],\n  null: 'null',\n  undefined: 'undefined',\n  quote: '\"',\n  //escapeQuote: '\\\\',\n  //commaNoLine: false, // ignore full line if any of the values contains comma\n  //EOL: '\\n',\n  extraRows: [], // row indexes to ignore\n};\nconst parse = csv.parse(options);\n\nconst in1 = fs.readFileSync('./in1.csv', 'utf8');\nconsole.log('in1:\\n', in1);\n\nparse.on('error',  (error) =\u003e console.log(`* error`,   error));\nparse.on('line',    (line)    =\u003e console.log(`* line`,    line));\nparse.on('header', (header) =\u003e console.log(`* header`, header));\nparse.on('row',    (row, header)    =\u003e console.log(`* row`,    row, header));\nconsole.log('out1:\\n', parse.parse(in1) );\n```\n\n```js\nconst stringifyOptions = {\n  header: true, // [ 'boolean', 'number', 'string' ],\n  null: 'null',\n  undefined: 'undefined',\n  quote: '\"',\n  escapeQuote: '\\\\',\n  commaNoLine: false, // ignore full line if any of the values contains comma\n  EOL: '\\n',\n  extraRows: [ // row indexes to add\n    //{ num: 1, value: '; this is extra row at line with index 1' }\n  ],\n};\nconst columns = [ 'boolean-column', 'number-column', 'string-column' ];\n\nconst stringify = csv.stringify(stringifyOptions);\n\nconst out2 = stringify.stringify(out1, columns);\nconsole.log('\\nout2:', out2);\n```\n\n\n\n## Credits\n[Alexander](https://github.com/alykoshin/)\n\n\n# Links to package pages:\n\n[github.com](https://github.com/alykoshin/mini-csv) \u0026nbsp; [npmjs.com](https://www.npmjs.com/package/mini-csv) \u0026nbsp; [travis-ci.org](https://travis-ci.org/alykoshin/mini-csv) \u0026nbsp; [coveralls.io](https://coveralls.io/github/alykoshin/mini-csv) \u0026nbsp; [inch-ci.org](https://inch-ci.org/github/alykoshin/mini-csv)\n\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falykoshin%2Fmini-csv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falykoshin%2Fmini-csv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falykoshin%2Fmini-csv/lists"}