Skip to main content

Preparing Your Data File (CSV Format)

How to structure a CSV file for historical data upload: one header row, one row per experiment, and why a column with any empty cell is dropped.

When you bring historical data into SDLabs — either to start an experiment or to enrich a running one — you upload it as a data file. This article explains exactly how that file must be structured so the platform can read every row and column you intend it to.


File Structure

The layout is simple and strict:

  • One header row. The first line of the file lists the column names. There is no room for title blocks, notes, or units above it — the very first line must be the headers.

  • One row per experiment. Every line after the header is a single data point — one experiment, run, or observation, with its parameter values and its result(s).

  • One value per cell. Keep each value in its own cell. Do not combine a number and its unit in the same cell (write 60, not 60 degC); put the unit in the column name instead (e.g. Temperature (degC)).


Every Column Must Be Complete

This is the most important rule. A column is only usable if every single row has a value for it. If even one cell in a column is empty, the entire column is discarded — not just the row with the gap.

A cell counts as empty if it is blank or contains a standard missing-value marker: NA, N/A, NULL, NaN, n/a, or null.

In the example below, Pressure is dropped entirely because one cell is blank, even though three of its four values are present:

Temperature

Pressure

Yield

60

2.0

78

80

85

100

2.5

91

Here only Temperature and Yield survive. To keep Pressure, fill in the missing value before uploading or delete the line with missing data.

What to do about gaps:

  • Fill in the real value wherever you have it.

  • If different runs measured different things, split them into separate files so each file's columns are complete.


Supported Files

  • Format: CSV (.csv). The delimiter is detected automatically, so comma, tab, or semicolon-separated files all work.

  • Excel is not supported. Save your spreadsheet as CSV first (in Excel: File > Save As > CSV). Note that this keeps only the active sheet and drops any merged or multi-row headers, so check the result has a single clean header row.

  • Size: up to 5 MB per file.

  • Rows: at least 2 and at most 2,000 data points.

  • Columns: at least 2 and at most 200 complete columns.


Known Issues When Exporting from Excel

Excel is the most common way to prepare a file, but its regional settings can quietly change your numbers on the way out. The one to watch for:

Commas instead of dots in numbers. In many European regional settings, Excel writes decimals with a comma — 1,5 instead of 1.5. SDLabs expects a dot as the decimal mark, so a value like 1,5 is read as text, not a number. The whole column is then treated as a categorical variable — each value such as 1,5 and 2,0 becomes its own separate category — instead of a numerical variable with a range, and the optimizer can no longer treat it as a continuous quantity.

To avoid this:

  • Set your numbers to use a dot as the decimal separator before saving — change Excel's regional/decimal setting, or find-and-replace the commas with dots in the numeric columns.

  • After uploading, check that every column you expect to be numerical is detected as a variable with a range, not as a list of categories. If a number column shows up as categorical, decimal commas are the likely cause.


How Columns Are Read

The platform inspects each complete column and proposes a role for it, which you confirm or adjust when you map the dataset:

  • Number columns become variables with a range taken from their smallest and largest values.

  • Text columns become categorical variables, with one category per distinct value that appears.

  • The last column is treated as a result by default — put your measured outcome there to make mapping easier.

  • Bookkeeping columns such as batch, iteration, notes, and date are recognised and kept out of the optimisation.

You always get the final say during mapping — see the historical-data guides below for how to connect each column to your experiment's variables and results.


Quick Checklist

  • First line is the column headers — nothing above it.

  • One row per experiment below the header.

  • No empty cells in any column you want to keep.

  • Numbers use a dot as the decimal mark (1.5, not 1,5).

  • Saved as .csv, under 5 MB.


Next: Attaching Historical Data to an Experiment walks through uploading and mapping your file step by step.

Did this answer your question?