# Weather Data ETL Pipeline
## Project Overview
This project demonstrates the development of a simple **ETL (Extract, Transform, Load) pipeline** using Python. The pipeline collects current weather data for ten major African cities from a weather API, transforms the raw data into a clean and structured dataset, saves the processed data as a CSV file, and performs basic exploratory analysis through visualizations.
The project focuses on comparing:
* Temperature across cities
* Humidity levels across cities
* The frequency of different weather conditions
The final dataset contains weather information for **10 cities**.
---
## Data Source
The data was extracted from the **OpenWeatherMap API** using Python's `requests` library.
The cities included in the analysis are:
* Lagos
* Accra
* Kigali
* Johannesburg
* Nairobi
* Cairo
* Casablanca
* Port Louis
* Gaborone
* Tunisia
The following weather attributes were collected:
| Column | Description |
| ----------- | ------------------------------------ |
| City | Name of the city |
| Temperature | Current temperature in °C |
| Humidity | Current humidity percentage |
| Condition | Current weather description |
| Wind_Speed | Wind speed in metres per second |
| Date_Time | Date and time the data was collected |
The API returned the weather data in JSON format, which was then converted into a structured Pandas DataFrame.
---
## ETL Process
### 1. Extract
Weather data was extracted from the OpenWeatherMap API using the `requests` library.
For each city, the API request retrieved:
* City name
* Temperature
* Humidity
* Weather condition
* Wind speed
* Date and time of observation
The data was collected using a Python function called `get_weather_data()`.
The API was configured to return temperature values in **Celsius** using metric units.
--- …