CSV decoder
The CSV decoder stores the decoded output as CSV files.
The CSV output format has wide tool support but is generally inefficient (slow and big).
Output
The CSV output data-schema always include an epoch-timestamp column named t
. The remaining column names are constructed from the database used for decoding, as in the example below:
t,Speed,SpeedAccuracy,SpeedValid
1650636883.519250,0.010000,2.006000,1.000000
1650636884.090300,0.010000,2.152000,1.000000
1650636885.041350,0.010000,2.290000,1.000000
1650636886.090500,0.010000,2.419000,1.000000
Note
Output values are always formatted as decimal numbers with 6 decimal places.
If specific values exceed the MIN/MAX as defined in the database, they are included in the output as NaN
, as in the example below:
t,Speed,SpeedAccuracy,SpeedValid
1650636883.519250,0.010000,NaN,1.000000
1650636884.090300,0.010000,NaN,1.000000
1650636885.041350,0.010000,NaN,1.000000
1650636886.090500,0.010000,NaN,1.000000
Warning
Output rows are skipped if all values are NaN
.
Performance
Below table provides some performance numbers for different input / output scenarios.
Input records |
Input size total (MB) |
Input files (#) |
Output size total (MB) |
Output files |
Exe time (s) |
Exe peak memory (MB) |
Note |
---|---|---|---|---|---|---|---|
10.000.000 |
190 |
1 |
858 |
1 |
11 |
193 |
One input file one output file |
10.000.000 |
292 |
1000 |
858 |
1 |
10 |
3 |
Many input files one output file |
10.000.000 |
190 |
1 |
858 |
1000 |
11 |
199 |
One input file many output files |
Note
All tests have been performed using default input arguments on a Intel Xeon @ 3.4 GHz running Linux (x86_64)
Changelog
2.4.0
Change CLI version output
2.3.2
Fixed
Issue with merge of PGN source/destination addresses sometimes resulting in invalid output files
2.3.1
Added
DBC, support for float and double data types
Option to merge PGN source-address outputs
Option to merge PGN destination-address outputs
Changed
DBC, message with name “VECTOR__INDEPENDENT_SIG_MSG” ignored
DBC, empty attribute “BusType” now defaults to CAN-bus
Improved error text on invalid output dir
Improved error text on colliding message keys
2.2.2
Added
Support for signed data type
2.2.1
Added
Input argument
dbdump
to dump loaded database to JSON-file
Fixed
Better handling of special characters in DBC-file
2.1.1
First release