merge-csv-on-column
v1.0.0
Published
Merge multiple CSV files on the selected column.
Downloads
3
Readme
merge-csv-on-column
A CLI utility for merging multiple CSV files on a column
Quick start
From the project root, install dependencies:
npm ciRun the script:
node ./merge-csv-on-column.js "./source_csv/Users.csv" "./source_csv/Users Access.csv"Interactive mode (checkbox selection):
node ./merge-csv-on-column.js --interactive "./source_csv/Users.csv" "./source_csv/Users Access.csv"
Run with npx (no install)
You can run the CLI without installing it globally using npx:
npx merge-csv-on-column "./source_csv/Users.csv" "./source_csv/Users Access.csv"Interactive mode via npx:
npx merge-csv-on-column --interactive "./source_csv/Users.csv" "./source_csv/Users Access.csv"Note: The first time you run npx, it may prompt to install the package. Use npx --yes merge-csv-on-column ... for non-interactive environments.
Options
-o, --output <path>— output CSV path (default:./merged.csv)--conflict <first|last>— conflict resolution when multiple files provide values for the same column (default:first)--preview— print the first 10 rows of the merged output--interactive— choose columns interactively with a checkbox UI (falls back to textual prompt)--columns "A,B,C"— non-interactive comma-separated columns list-k, --key <field>— column to merge on (default:Email). In interactive mode, you can also choose the key from detected headers.
Example: specify exact columns to keep (non-interactive)
The following example keeps only these columns in the output:
node ./merge-csv-on-column.js --columns "Email, First name, Last name, Accepted site invitation, Description, Invited on, Accepted the invitation, Account verified, Logged in, Issued at least a command" "./source_csv/Users.csv" "./source_csv/Users Access.csv"Notes
- The script requires at least two input CSV files and defaults to using an
Emailcolumn as the merge key. - Paths with spaces should be quoted.
License
MIT
