# ETL Pipeline: Real-Time Weather Data Analysis
**AnalystLab Africa Internship Program | Batch A | Week 7**
**Author:** Chimezie Favour Chidinma
**Date:** June 2026
## Project Overview
This project builds a simple ETL (Extract, Transform, Load) pipeline using real-time weather data from the OpenWeather API. The pipeline automatically collects live weather data for 5 cities around the world, cleans and transforms it into a structured format, and stores it for analysis.
## Data Source
- **API:** OpenWeather Current Weather API
- **Website:**
openweathermap.org
- **Cities covered:** Lagos, London, New York, Tokyo, Nairobi
## ETL Process
### Extract
- Connected to the OpenWeather API using Python's requests library
- Sent HTTP GET requests with an API key and city name as parameters
- Received raw JSON responses containing nested weather data for each city
### Transform
- Parsed nested JSON fields into a flat structured format
- Extracted 14 relevant fields including temperature, humidity, wind speed, and timestamp
- Converted UNIX timestamps to readable datetime format
- Verified zero missing values and correct data types across all columns
### Load
- Saved the cleaned dataset in three formats:
- weather_data.csv — for general use and sharing
- weather_data.xlsx — for Excel-based reporting
- weather_data.db — SQLite database for structured querying
## Tools Used
- Python
- requests
- pandas
- matplotlib
- seaborn
- sqlite3
- openpyxl
- Jupyter Notebook
## Key Findings
- Warmest city: London (25.1°C) — surprisingly warmer than Lagos on the day of extraction
- Coolest city: New York (20.6°C)
- Most humid: Lagos (91%) — consistent with its coastal tropical climate
- Least humid: Nairobi (55%) — reflecting its drier highland climate
- Windiest city: London (5.36 m/s)
- Weather condition: All 5 cities recorded cloudy conditions at time of extraction
## What I Learned
- How to authenticate and connect to a real-world REST API
- How to parse nested …