IoT Sensor Readings (CSV, 1440 rows)
A day of IoT sensor readings (temperature, humidity, pressure) at one-minute intervals from three sensors, with a realistic daily cycle plus noise — for testing time-series ingestion and downsampling. JSON twin included.
timestamp,sensor_id,temperature_c,humidity_pct,pressure_hpa
2025-06-01T00:00:00Z,sensor-01,20.01,61.4,1014.8
2025-06-01T00:01:00Z,sensor-02,19.82,59.7,1012.2
2025-06-01T00:02:00Z,sensor-03,20.27,59.9,1014.1
2025-06-01T00:03:00Z,sensor-01,19.33,61.6,1012.9
2025-06-01T00:04:00Z,sensor-02,20.36,59.9,1012.4
2025-06-01T00:05:00Z,sensor-03,20.29,60.8,1012.7
2025-06-01T00:06:00Z,sensor-01,20.07,60.7,1011.7
2025-06-01T00:07:00Z,sensor-02,19.55,60.4,1012.0
2025-06-01T00:08:00Z,sensor-03,19.41,59.2,1012.3
2025-06-01T00:09:00Z,sensor-01,19.72,58.5,1013.1
2025-06-01T00:10:00Z,sensor-02,20.58,59.8,1011.9
2025-06-01T00:11:00Z,sensor-03,20.39,60.7,1012.5
2025-06-01T00:12:00Z,sensor-01,20.48,61.0,1012.7
2025-06-01T00:13:00Z,sensor-02,19.96,60.3,1013.4
2025-06-01T00:14:00Z,sensor-03,20.74,58.7,1012.0
2025-06-01T00:15:00Z,sensor-01,19.99,58.2,1013.2
2025-06-01T00:16:00Z,sensor-02,20.56,59.2,1015.1
2025-06-01T00:17:00Z,sensor-03,20.7,60.6,1013.6
2025-06-01T00:18:00Z,sensor-01,20.77,58.6,1013.9
2025-06-01T00:19:00Z,sensor-02,20.66,58.2,1013.5
2025-06-01T00:20:00Z,sensor-03,20.34,60.7,1012.3
2025-06-01T00:21:00Z,sensor-01,20.45,60.3,1011.7
2025-06-01T00:22:00Z,sensor-02,20.72,59.8,1013.7
2025-06-01T00:23:00Z,sensor-03,20.29,61.0,1013.9
2025-06-01T00:24:00Z,sensor-01,20.45,60.6,1014.9
2025-06-01T00:25:00Z,sensor-02,21.26,58.4,1014.3
2025-06-01T00:26:00Z,sensor-03,20.75,59.8,1011.5
2025-06-01T00:27:00Z,sensor-01,21.09,58.7,1013.9
2025-06-01T00:28:00Z,sensor-02,21.13,58.3,1012.5
2025-06-01T00:29:00Z,sensor-03,20.11,60.2,1015.3
2025-06-01T00:30:00Z,sensor-01,21.46,58.1,1012.1
2025-06-01T00:31:00Z,sensor-02,20.96,61.5,1013.6
2025-06-01T00:32:00Z,sensor-03,20.4,60.2,1013.0
2025-06-01T00:33:00Z,sensor-01,20.64,59.2,1013.6
2025-06-01T00:34:00Z,sensor-02,20.86,59.8,1012.7
2025-06-01T00:35:00Z,sensor-03,20.25,59.4,1014.8
2025-06-01T00:36:00Z,sensor-01,20.71,58.4,1015.0
2025-06-01T00:37:00Z,sensor-02,21.02,62.0,1013.1
2025-06-01T00:38:00Z,sensor-03,20.64,58.4,1015.0
2025-06-01T00:39:00Z,sensor-01,21.87,59.0,1012.0
2025-06-01T00:40:00Z,sensor-02,21.11,59.0,1012.6
2025-06-01T00:41:00Z,sensor-03,20.75,60.0,1014.6
2025-06-01T00:42:00Z,sensor-01,20.92,60.8,1012.4
2025-06-01T00:43:00Z,sensor-02,21.06,57.7,1010.8
2025-06-01T00:44:00Z,sensor-03,21.27,59.2,1013.9
2025-06-01T00:45:00Z,sensor-01,21.19,61.1,1014.2
2025-06-01T00:46:00Z,sensor-02,21.4,59.7,1012.0
2025-06-01T00:47:00Z,sensor-03,20.73,59.3,1011.3
2025-06-01T00:48:00Z,sensor-01,20.82,59.7,1013.4Specifications
- Rows
- 1440
- Schema
- timestamp, sensor_id, temperature_c, humidity_pct, pressure_hpa
- Interval
- 1 minute
- Sensors
- 3
- Domain
- IoT
What is a .csv file?
CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.
How to use this file
Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.
How to use this file for testing
“IoT Sensor Readings (CSV, 1440 rows)” is a deterministic Novus Examples fixture for Data import, Time-series data, Conversion testing. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.
Documented properties for this file: 1,440 rows · schema: timestamp, sensor_id, temperature_c, humidity_pct, pressure_hpa. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.
Code examples
import pandas as pd
df = pd.read_csv("sensor-readings.csv")
print(df.head())
print(df.dtypes)Related files
- csvStock OHLCV — Daily Candles (CSV, 252 rows)A year of daily OHLCV stock candles (open/high/low/close/volume) as a seeded random walk — a realistic finance time-series for testing charting, indicators, and importers. JSON twin included.

- csvWeather Forecast — 30 days (CSV, 30 rows)A 30-day daily weather forecast for one city — high/low temperature, condition, precipitation, wind, and humidity. Synthetic (seeded) data for testing weather widgets, chart tools, and time-series import.

- jsonWeather Forecast — 30 days (JSON, 30 records)The daily forecast as a JSON array — the format twin of the CSV, for import and charting tests.

- csvBank Transactions (CSV, 60 rows)A bank-transaction statement — 60 debits and credits across three accounts (masked numbers) with running balances, categories, and merchants. Synthetic data for testing statement parsers, categorisation, and reconciliation.

- jsonBank Transactions (JSON, 60 records)The bank transactions as a JSON array — the format twin of the CSV, for import and reconciliation testing.

- jsonColumnar Nulls Schema (JSON)JSON description of nullable columns in the null-heavy columnar fixtures.

Generated by generation/data_realworld.py. Free for any use, no attribution required — license.