Generate a diff between two CSV files.
Project description
Overview
Generate a diff between two CSV files on the command-line.
Installing
pip install csvdiff
Examples
For example, suppose we have a.csv:
id,name,amount 1,bob,20 2,eva,63 3,sarah,7 4,jeff,19 6,fred,10
and a matching file after some changes, b.csv:
id,name,amount 1,bob,23 3,sarah,7 4,jeff,19 5,mira,81 6,fred,13
Now we can ask for a summary of differences:
$ csvdiff --style=summary id a.csv b.csv 1 rows removed (20.0%) 1 rows added (20.0%) 2 rows changed (40.0%)
Or look at the full diff pretty printed, to make it more readable:
$ csvdiff --style=pretty id a.csv b.csv { "added": [ { "amount": "81", "id": "5", "name": "mira" } ], "changed": [ { "fields": { "amount": { "from": "20", "to": "23" } }, "key": [ "1" ] }, { "fields": { "amount": { "from": "10", "to": "13" } }, "key": [ "6" ] } ], "removed": [ { "amount": "63", "id": "2", "name": "eva" } ] }
It gives us the full listing of added and removed rows, as well as a listing of what fields changed for that shared a key.
For more usage options, run csvdiff --help.
License
BSD license
History
0.2.0 (2014-12-30)
Uses click for the command-line interface.
Drop YAML support in favour of pretty-printed JSON.
Uses –style option to change output style.
Provides a full man page.
0.1.0 (2014-03-15)
First release on PyPI.
Generates a JSON or YAML difference between two CSV files
Specify multiple key components with -k
Can provide a difference summary
Assumes files use standard comma-separation, double-quoting and a header row with field names
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for csvdiff-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eefa61474c21eae3251f36d82ef16622910cab00331eea5e2099a4b6e53f8874 |
|
MD5 | c781185e56e04634d76abe46030b2b44 |
|
BLAKE2b-256 | fe53c20e9bb343473569e8c57cd1cc3136d1e252ae26ca4c16f019f55594054b |