# Import history from a CSV file

URL: https://pro-weather.com/docs/getting-started/import-csv

> Bring an archive from Weather Display, WeatherCat, a Wunderground download or a spreadsheet.

If your history is not in [weewx](https://pro-weather.com/docs/getting-started/import-weewx) or
[CumulusMX](https://pro-weather.com/docs/getting-started/import-cumulusmx) format, import it as a CSV.
This covers Weather Display, WeatherCat, a Weather Underground history download,
anything a logger can export, and a spreadsheet you kept by hand.

Everything is read **in your browser**. Only the values you map are sent, and
anything already recorded live is left untouched, so it is safe to run again.

## Before you start

History import needs a **PRO** subscription (the same entitlement as historical
charts). A trial counts.

## Step 1 - export a CSV

Any delimited text file works: comma, semicolon or tab separated, with or
without a header row. One row per reading, one column per measurement.

## Step 2 - pick the file

Open **Connection** on your site's dashboard and find **Import history from a
CSV file**. Choose your file. The first few rows appear as a preview so you can
see what we read.

## Step 3 - map your columns

Column names we recognise (`Out Temp`, `humidity`, `Barometer`, `Wind Speed` and
so on) are mapped for you. Fix anything we guessed wrong and leave what you do
not have set to **not in file**.

Only the **date / time** column is required. Everything else is optional.

## Step 4 - the three things no file states

These are the settings that matter, because nothing in a CSV says which is
right:

**Units.** Only the unit families your mapping actually uses are asked for. Get
this wrong and every value is off by a fixed factor.

**Day first or month first.** `03/08/2026` is 3 August to most of the world and
8 March in the United States. A wrong answer shifts months of history rather
than failing loudly, so we never guess it. ISO dates (`2026-08-03`) are
unambiguous and ignore this setting.

**Rain: per reading or a running total.** Cumulus-style exports write the day's
running total in every row; summing that as if it were per-reading reports a
month of rain as several metres. If your rain column climbs through the day and
resets at midnight, choose **Running total for the day**.

> **Timestamps in local time**
>
  If your file's timestamps are local rather than UTC, set the offset in
  minutes. Your browser's own offset is filled in as a starting point. ISO
  timestamps that carry their own zone (ending in `Z` or `+02:00`) ignore it.

## Step 5 - import

The progress line shows rows sent and rows added. Rows already in your archive
from live collection are skipped, so the two numbers differ when your file
overlaps history you already have. Rows with an unreadable date, or with nothing
usable once mapped, are counted as unusable and reported at the end.

If the upload is interrupted, run it again - progress is saved, and re-importing
the same file adds nothing new.

## What is imported

Temperature, humidity, dew point, wind speed, gust, direction, sea-level and
station pressure, rainfall, rain rate, solar radiation, UV index, indoor
temperature and humidity, PM2.5 and PM10.

Values that convert to something impossible (a temperature of 500 °C, a
direction of 400°) are dropped rather than stored, and the rest of the row is
kept.

## Next steps

- [Import from weewx](https://pro-weather.com/docs/getting-started/import-weewx)
- [Import from CumulusMX](https://pro-weather.com/docs/getting-started/import-cumulusmx)
- [Correct a bad reading](https://pro-weather.com/docs/data-editor)
