Changes for version 0.999_1 - 2022-12-14
- Incompatible changes
- Rename variable given to eval codes '$main::field_idxs' to '$main::fields_idx'.
- [cli csv-sort-fields] --by-code code now receives [$field_name, $field_idx] instead of just $field_name.
- [cli csv-select-rows] row number spec now means *data row* number spec, e.g. 1 means the first *data* row.
- [cli csv-select-rows] Will not output header row if there is no rows matching spec.
- [cli csv-setop] Will not output header row if there is no result data rows.
- [cli csv-convert-to-hash] Row number now means *data* row number, e.g. 1 means the first row number.
- New features
- Add utility: csv-gen.
- Internals
- Make API modular. It is now possible and easier to create a new utility without modifying the "core" routine. No more "core" routine.
- Enhancements
- [cli csv-select-fields] Add option --show-selected-fields, like in csv-delete-fields.
- Removed
- Remove alias CLI's: csv2csv (only csv-csv now provided), dump-csv (only csv-dump now provided).
- Reading from & writing to URL feature is removed to remove dependency to LWP::UserAgent. One can use piping to/from clipget/clipadd to read from/write to clipboard. There are other tools for reading/writing to URL addresses.
- Documentation & UX
- Add example(s) to all utilities.
- Add -a as shortcut for --include-all-fields, -A for --exclude-all-fields.
Documentation
App::CSVUtils cookbook
App::CSVUtils tips/tricks
Add one or more fields to CSV file
Output a summary row which are arithmetic averages of data rows
Concatenate several CSV files together, collecting all the fields
Return a hash of field names as keys and first data row as values
Convert CSV to CSV
Delete one or more fields from CSV file
Dump CSV as data structure (array of array/hash)
Run Perl code for every data row
Substitute template values in a text file with fields from CSV rows
Output a frequency table of values of a specified field in CSV
Generate CSV data using Perl code
Get one or more cells from CSV
Only output row(s) where Perl expression returns true
Show information about CSV file (number of rows, fields, etc)
List field names of CSV file
Fill fields of a CSV file from another
Return result of Perl code for every row
Munge a field in every row of CSV file with Perl code
Return one or more random rows from CSV
Select one or more random fields from CSV
Return one or more random rows from CSV
Replace newlines in CSV values
Only output selected field(s)
Only output of specified row numbers
Set operation (union/unique concatenation of rows, intersection/common rows, difference of rows) against several CSV files
Shuffle CSV rows
Shuffle CSV fields
Shuffle CSV rows
Sort CSV rows
Sort CSV fields
Sort CSV rows
Split CSV file into several files
Output a summary row which are arithmetic sum of data rows
Transpose a CSV
Convert CSV to LTSV
Return an enveloped aoaos table data from CSV data
Convert CSV to TSV
Create a VCF from selected fields of the CSV
Convert TSV to CSV
Modules
CLI utilities related to CSV
Return an enveloped aoaos table data from CSV data
Create a VCF from selected fields of the CSV
Add one or more fields to CSV file
Output a summary row which are arithmetic averages of data rows
Concatenate several CSV files together, collecting all the fields
Return a hash of field names as keys and first data row as values
Convert CSV to CSV
Delete one or more fields from CSV file
Dump CSV as data structure (array of array/hash)
Run Perl code for every data row
Substitute template values in a text file with fields from CSV rows
Output a frequency table of values of a specified field in CSV
Generate CSV data using Perl code
Get one or more cells from CSV
Only output row(s) where Perl expression returns true
Show information about CSV file (number of rows, fields, etc)
List field names of CSV file
Fill fields of a CSV file from another
Return result of Perl code for every row
Munge a field in every row of CSV file with Perl code
Select one or more random fields from CSV
Return one or more random rows from CSV
Replace newlines in CSV values
Only output selected field(s)
Only output of specified row numbers
Set operation (union/unique concatenation of rows, intersection/common rows, difference of rows) against several CSV files
Shuffle CSV fields
Shuffle CSV rows
Sort CSV fields
Sort CSV rows
Split CSV file into several files
Output a summary row which are arithmetic sum of data rows
Transpose a CSV