Zajęcia 13 | API zadanie domowe

Zajęcia 13 | API zadanie domowe

Aplikacja do wyświetlania dni wolnych od pracy w danym roku i kraju, z użyciem Streamlit

import requests
import streamlit as st
import json
import pandas as pd

st.set_page_config(layout="wide")
st.write("# Dni wolne")

with open("kraje.json", "r", encoding="utf8") as f:
    kraje = json.load(f)

rok = st.number_input(label="Podaj rok: ", value = None, placeholder="Wpisz rok", step=1)
kraj = st.selectbox(label="Wybierz kraj: ", options=kraje.items())

generuj = st.button(label="Generuj")


if generuj:
    url = f"https://date.nager.at/api/v3/PublicHolidays/{rok}/{kraj[0]}"
    response = requests.get(url)
    dane = response.json()

    data = []
    nazwa = []
    for i in range(len(dane)):
        data.append(dane[i]["date"])
        nazwa.append(dane[i]["localName"])

    tabelka = pd.DataFrame(
        {
        "Data" : data,
        "Nazwa" : nazwa
        })
    
    st.table(tabelka)

Wynik: