Supported file types
Overview
Plugins are under active development. Stable plugins are documented below with their available options. Plugins under beta testing are available upon request.
Custom plugins
Do you have files in a different format? Our technical team can create a custom plugin for your data format.
Get in touch with [email protected] to discuss your use case.
CSV
Plugin name: CSV
The CSV plugin has a lot of options for configuration (see below). Key points:
The time column can be configured (but defaults to
time
)Time can be a number or date string format. (preferably
YYYY/MM/DD hh:mm:ss
)CSV zips are supported through
--unzip
Two main shapes are supported:
tab
(example 1) andtsv
(example 2)
Example 1: Tabular (tab)
time,altitude,speed,engine_temp,fuel_level,battery_voltage
s,m,km/h,°C,%,V
0.0,0.0,0.0,90.0,100.0,12.6
1.0,10.0,20.0,91.0,99.5,12.6
2.0,25.0,40.0,92.0,99.0,12.5
3.0,50.0,60.0,93.0,98.4,12.5
4.0,80.0,75.0,94.0,97.8,12.4
5.0,120.0,85.0,95.0,97.2,12.4
6.0,160.0,90.0,96.0,96.5,12.3
7.0,200.0,88.0,96.5,95.7,12.3
8.0,240.0,70.0,97.0,94.9,12.2
9.0,260.0,40.0,96.0,94.3,12.2
Download the example file:
Example 2: Time Signal Value (tsv)
time,signal,value
0.0,altitude,0.0
0.0,speed,0.0
0.0,battery_voltage,12.6
1.0,altitude,10.0
1.0,speed,20.0
1.0,battery_voltage,12.6
2.0,altitude,25.0
2.0,speed,40.0
2.0,battery_voltage,12.5
3.0,altitude,50.0
3.0,speed,60.0
Available options
--time-col
time
Name of the time column
-T
--combined-time-col
[]
Combine multiple column names using space to form 1 date column (e.g. -T 'date' -T 'time' -T 'UTC Offset'
)
--shape
tab
If the data is organised tabular (tab
), or tsv
with for example columns (time, signal, value)
--delimiter
,
Character that splits the columns
--decimal
.
Character that show decimal point
--thousands
None
Character that splits 1000s
--quotechar
"
Character indicating strings
--chunksize
1 million (1e6
)
Number of rows consumed at once
--skiprows
0
Rows to be ignored at the top of the file
--dayfirst
--no-dayfirst
--no-dayfirst
Parse dates with the day first (e.g. 23/08/2025)
--time-factor
1 billion (1e9
)
Factor to convert time to nanoseconds
--time-offset
0
Offset [ns] to add to time. Time [ns] = [time-col] * time-factor + time-offset
-h
--header
[]
Names for the columns, instead of using the first row (e.g. -h 'time' -h 'col0' -h 'col1'
)
--units
--no-units
--no-units
Read units from the second line (tab
only)
--unzip
--no-unzip
--no-unzip
The input file is a .zip
file which contains .csv
files
--group-by-filename
--no-group-by-filename
--no-group-by-filename
Add the file name as a signal group
--signal-col
signal
Column to use for signal names, in case of multiple, they will be combined using .
(tsv
only)
--value-col
value
Column to use for values (tsv
only)
--unit-col
None
Column to use for units (tsv
only)
-M
--metadata-col
[]
Columns to use for metadata (tsv
only)
A general example of how these options can be correctly used in Marple DB:

MDF
Plugin name: MDF/ MF4
Can import files generated according to the ASAM Measurement Data Format version 4 (MF4) standard. Binary MDF files cannot be parsed but needs to converted using a .dbc
file first.
Available options
--chunksize
10 million (1e7
)
Number of datapoints in each processed chunk. Large values may result in too much use of RAM and crashing
--time-factor
1 billion (1e9
)
Factor to convert time to nanoseconds
--time-offset
0
Offset [ns] to add to time. Time [ns] = [time-col] * time-factor + time-offset
--use-header-start-time
--no-use-header-start-time
--use-header-start-time
Use the start time from the header of the file.
-s
/ --select
Channel names to include. If not provided, all channels are included.
MATLAB
Plugin name: MATLAB
MAT files are used a lot when using MATLAB or certain loggers such as dSpace, Speedgoat, .. MAT files are treated similarly to HDF5 files (as described above), so the same rules apply.
If you have a MAT file of version 7.3 or higher, this will be treated as a HDF5 file. MAT files of a lower version are significantly less efficient and will require more effort to be parsed by Marple.
Download the example.mat file below:
Available options
--time-col
time
Name of the time column.
--time-factor
1 billion (1e9
)
Factor to convert time to nanoseconds
--time-offset
0
Offset [ns] to add to time. Time [ns] = [time-col] * time-factor + time-offset
--include-groups
--no-include-groups
--include-groups
Include group names in signal names.
--structure
flat
How to interpret the data structure in the file. [flat/matrix]
--names-key
names
Key name for signal names when using 'matrix' structure.
--units-key
units
Key name for signal units when using 'matrix' structure.
--descriptions-key
descriptions
Key name for signal descriptions when using 'matrix' structure.
HDF5
Plugin name: HDF5
HDF5 files are widely known for their excellent handling of large data sets.. and we agree! We love HDF5 data sets!
Unfortunately, HDF5 files come in different shapes and formats, so we need to agree to some structure.
Marple supports 2 structures for HDF5. We call it SIGNAL based and MATRIX based structures.
SIGNAL based (flat)
In a signal-based structure, the data consists of Groups (dictionary-like objects) where the signal names are used as keys. For every signal a Dataset (array) defines the data.
We also allow for signal grouping, as can be seen in the example below
Flat signal group structure
Units are also supported, by adding them as an attribute to the Dataset for the signal.
Download the example_signalbased.hdf5 file below:
MATRIX based
A matrix structure is a bit more complex to construct but allows for easier row-by-row processing. It also allows for extra information such as units.
Matrix signal group structure
Download the example_hdf5_matrix.h5 file below:
Available options
--time-col
time
Name of the time column.
--time-factor
1 billion (1e9
)
Factor to convert time to nanoseconds
--time-offset
0
Offset [ns] to add to time. Time [ns] = [time-col] * time-factor + time-offset
--include-groups
--no-include-groups
--include-groups
Include group names in signal names.
--structure
flat
How to interpret the data structure in the file. [flat/matrix]
--names-key
names
Key name for signal names when using 'matrix' structure.
--units-key
units
Key name for signal units when using 'matrix' structure.
--descriptions-key
descriptions
Key name for signal descriptions when using 'matrix' structure.
TDMS
Plugin name: TDMS
Available options
--chunksize
10 million (1e7
)
Number of datapoints in each processed chunk. Large values may result in too much use of RAM and crashing
--time-factor
1 billion (1e9
)
Factor to convert time to nanoseconds
--time-offset
0
Offset [ns] to add to time. Time [ns] = [time-col] * time-factor + time-offset
--time-col
time
Name of the time column.
--unit
unit_string
Name of the channel property which contains the unit.
Last updated