Skip to content

Gargiparlikar/Weather-Data-Analysis-using-OpenWeatherMap-API-Python-Excel-Power-BI

Repository files navigation

Weather-Data-Analysis-using-OpenWeatherMap-API-Python-Excel-Power-BI

๐Ÿ“Š Overview

This project focuses on collecting, analyzing, and visualizing real-time weather data from the OpenWeatherMap API using Python.
It provides live updates of temperature, humidity, pressure, and other weather parameters for multiple cities, performs trend analysis using Pandas, and visualizes results through Matplotlib and Seaborn.


โš™๏ธ Key Features

  • ๐Ÿ”— Integrated OpenWeatherMap API to fetch real-time weather and forecast data.
  • ๐Ÿงฎ Processed and analyzed data using Pandas for temperature, humidity, and pressure insights.
  • ๐Ÿ” Automated hourly data updates using Pythonโ€™s schedule module.
  • ๐Ÿ“ˆ Created visualizations with Matplotlib and Seaborn for trends and correlations.
  • ๐Ÿ’พ Exported analyzed data into Excel/CSV files for reporting and record-keeping.
  • ๐Ÿ” Performed analytical insights such as:
    • Hottest & Coldest Cities
    • Correlation between Temperature, Humidity, and Pressure
    • Weather Condition Frequency Distribution
    • Forecast Trends for the Next 5 Days

๐Ÿง  Tech Stack

Layer Tools / Technologies
Programming Language Python
API Source OpenWeatherMap API
Libraries Pandas, Requests, Matplotlib, Seaborn, Schedule, OpenPyXL
Data Format Excel / CSV

๐Ÿ”„ Workflow

  1. API Data Collection

Fetched temperature, humidity, visibility, windspeed

Handled API token & errors

  1. Data Cleaning

Converted units

Removed invalid records

Filled missing info

  1. Analysis

Temp trends

Humidity variation

Weather condition classification

  1. Dashboard

Multi-city comparison

Forecast charts

Parameter correlations

โœ” Run the Script python weather_api_fetch.py

DASHBOARD PREVIEW

DASHBOARD PREVIEW

Weather Data Analysis Project Screenshot

๐Ÿงพ Key Insights

Coastal areas have 10โ€“15% higher humidity

Temperature correlates strongly with windspeed

๐Ÿ’ป Example Python Code Snippets

Fetch Real-Time Weather Data

params = {"q": city, "appid": API_KEY, "units": "metric"}
response = requests.get(BASE_URL, params=params)
data = response.json()

record = {
    "City": city,
    "Temperature (ยฐC)": data["main"]["temp"],
    "Humidity (%)": data["main"]["humidity"],
    "Pressure (hPa)": data["main"]["pressure"],
    "Wind Speed (m/s)": data["wind"]["speed"],
    "Weather": data["weather"][0]["main"],
    "Time": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
---

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published