{"id":47913820,"url":"https://github.com/aleung/csvsplit","last_synced_at":"2026-04-04T05:28:39.907Z","repository":{"id":57096280,"uuid":"59273278","full_name":"aleung/csvsplit","owner":"aleung","description":"Split CSV into multiples files base on value of a specified column.","archived":false,"fork":false,"pushed_at":"2021-04-30T06:27:09.000Z","size":14,"stargazers_count":9,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-15T18:27:45.209Z","etag":null,"topics":["csv","split-csv"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleung.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-20T07:12:42.000Z","updated_at":"2022-01-07T18:56:59.000Z","dependencies_parsed_at":"2022-08-22T21:41:10.918Z","dependency_job_id":null,"html_url":"https://github.com/aleung/csvsplit","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/aleung/csvsplit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleung%2Fcsvsplit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleung%2Fcsvsplit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleung%2Fcsvsplit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleung%2Fcsvsplit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleung","download_url":"https://codeload.github.com/aleung/csvsplit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleung%2Fcsvsplit/sbom","scorecard":{"id":179768,"data":{"date":"2025-08-11","repo":{"name":"github.com/aleung/csvsplit","commit":"0bd801fcd13dad7b22e6a845ee09efd687b4ecf2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/15 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.1.0 not signed: https://api.github.com/repos/aleung/csvsplit/releases/3338202","Warn: release artifact v1.1.0 does not have provenance: https://api.github.com/repos/aleung/csvsplit/releases/3338202"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-16T18:35:36.316Z","repository_id":57096280,"created_at":"2025-08-16T18:35:36.316Z","updated_at":"2025-08-16T18:35:36.316Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31389123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T04:26:24.776Z","status":"ssl_error","status_checked_at":"2026-04-04T04:23:34.147Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","split-csv"],"created_at":"2026-04-04T05:28:39.256Z","updated_at":"2026-04-04T05:28:39.888Z","avatar_url":"https://github.com/aleung.png","language":"JavaScript","readme":"# CSV Split\n\n[![npm version](https://img.shields.io/npm/v/@aleung/csvsplit.svg?maxAge=2592000)](https://www.npmjs.com/package/@aleung/csvsplit)\n\nCLI utility to split CSV into multiples files base on value of a specified column.\n\n## Feature\n\nYou have one or more data sheets. You want to split data into files and each one groups the records which have same value in a column.\n\n\u003e input.csv\n\n| id | name | group |\n|----|------|-------|\n| 1  | Alice | A    |\n| 2  | Bob   | B    |\n| 3  | Charley | A  |\n| 4  | David | B     |\n\nBeing processed with __csvsplit__, base on value of column `group`, it becomes:\n\n\u003e A.csv\n\n| id | name | group |\n|----|------|-------|\n| 1  | Alice | A    |\n| 3  | Charley | A  |\n\n\u003e B.csv\n\n| id | name | group |\n|----|------|-------|\n| 2  | Bob   | B    |\n| 4  | David | B    |\n\nIt's able to process multiple input files. No need to combile them beforehead.\n\n## Install\n\nThis tool runs on node.js execution environment. If node.js hasn't been\ninstalled on your OS, download from [Node.js official site](https://nodejs.org/en/download/current/)\nand install it.\n\nOn command line, type `node --version` to make sure node.js has been\ninstalled properly. Node.js v12.0 or higher is required.\n\nInstall CSV split:\n\n    npm install -g @aleung/csvsplit\n\nIt runs on any OS platform that node.js supports.\n\nYou could run CSV split without installation by adding `npx` before the command:\n\n    npx @aleung/csvsplit --help\n\n## Usage\n\n```\n$ csvsplit --help\nUsage: csvsplit [options] \u003cinputfiles\u003e\n\nOptions:\n  -c, --column  The index of column base which to split (A=1, B=2 ...)             [number] [required]\n  -f, --filter  If set, only when the column value is in this list will be outputed. Configure with a\n                comma seperated list of values.                                               [string]\n  -o, --output  Directory to put generated files into                         [string] [default: \"./\"]\n  --no-header  The input CSV file has no header                             [boolean] [default: false]\n  --help        Show help                                                                    [boolean]\n\nExamples:\n  csvsplit -c 2 -o ./output ./input/*.csv       Process all CSV files and split base on the 2nd column\n```\n\nThe generated csv files are named into the value of the column base on which to split.\n\nThere might be an extra csv file generated, in which contains only the header.\nJust delete it.\n\nIf you get \"Too many open files\" issue, try to use `--filter` option to limit the number of generated files.\n\n## Development\n\n```\n$ yarn install\n$ yarn test\n```\n\n## Similar Project\n\n[xsv](https://github.com/BurntSushi/xsv): A fast CSV command line toolkit written in Rust.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleung%2Fcsvsplit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleung%2Fcsvsplit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleung%2Fcsvsplit/lists"}