Python Kodları


import streamlit as st
import folium
from streamlit_folium import folium_static
import pandas as pd

# Excel dosyasını oku
excel_path = "/Users/zeki/Desktop/agizharitasi.xlsx"
df = pd.read_excel(excel_path, sheet_name="Sayfa1")
df_cleaned = df.dropna(how="all")

# Kelimeleri içeren sözlük
excel_keywords = {}
for col in df_cleaned.columns:
    words = df_cleaned[col].dropna().tolist()
    words = [str(word).strip() for word in words]
    excel_keywords[col] = words

# İllerin koordinatları
coords = {
    "Adana": [37.0, 35.3213],
    "Adıyaman": [37.7648, 38.2786],
    "Afyonkarahisar": [38.7546, 30.5567],
    "Ağrı": [39.7191, 43.0503]
    "Amasya": [40.6499, 35.8353],
    "Ankara": [39.9208, 32.8541],
    "Antalya": [36.8841, 30.7056],
    "Artvin": [41.1828, 41.8196],
    "Aydın": [37.8560, 27.8416],
    "Balıkesir": [39.6484, 27.8826],
    "Bilecik": [40.1500, 29.9833],
    "Bingöl": [38.8852, 40.4983],
    "Bitlis": [38.3938, 42.1232],
    "Bolu": [40.7350, 31.6066],
    "Burdur": [37.7203, 30.2908],
    "Bursa": [40.1826, 29.0669],
    "Çanakkale": [40.1553, 26.4142],
    "Çankırı": [40.5986, 33.6134],
    "Çorum": [40.5506, 34.9556],
    "Denizli": [37.7765, 29.0864],
    "Diyarbakır": [37.9144, 40.2306],
    "Edirne": [41.6771, 26.5557],
    "Elazığ": [38.6743, 39.2232],
    "Erzincan": [39.7500, 39.5000],
    "Erzurum": [39.9053, 41.2658],
    "Eskişehir": [39.7767, 30.5206],
    "Gaziantep": [37.0662, 37.3833],
    "Giresun": [40.9175, 38.3926],
    "Isparta": [37.7648, 30.5566],
    "İstanbul": [41.0082, 28.9784],
    "İzmir": [38.4192, 27.1287],
    "Konya": [37.8713, 32.4846],
    "Kars": [40.6070, 43.0940],
    "Kastamonu": [41.3875, 33.7804],
    "Kayseri": [38.7205, 35.4827],
    "Kırıkkale": [39.8468, 33.5153],
    "Kırklareli": [41.7350, 27.2250],
    "Kırşehir": [39.1422, 34.1709],
    "Kilis": [36.7175, 37.1153],
    "Kocaeli": [40.9833, 29.8815],
    "Kütahya": [39.4242, 29.9833],
    "Malatya": [38.3552, 38.3095],
    "Manisa": [38.6191, 27.4289],
    "Kahramanmaraş": [37.5753, 36.9371],
    "Mardin": [37.3182, 40.7376],
    "Mersin": [36.8121, 34.6415],
    "Muğla": [37.2141, 28.3635],
    "Muş": [38.9522, 41.7350],
    "Nevşehir": [38.6245, 34.7151],
    "Niğde": [37.9667, 34.6833],
    "Ordu": [40.9833, 37.8764],
    "Osmaniye": [37.0744, 36.2498],
    "Rize": [41.0246, 40.5237],
    "Sakarya": [40.9507, 30.5614],
    "Samsun": [41.2867, 36.33],
    "Siirt": [37.9333, 41.95],
    "Sinop": [42.0042, 35.0158],
    "Sivas": [39.7477, 37.0179],
    "Şanlıurfa": [37.1591, 38.7969],
    "Şırnak": [37.5155, 42.4623],
    "Tekirdağ": [40.9781, 27.5112],
    "Tokat": [40.3164, 36.5545],
    "Trabzon": [41.0053, 39.7264],
    "Tunceli": [39.3078, 39.4388],
    "Uşak": [38.6822, 29.4082],
    "Van": [38.5012, 43.3720],
    "Yalova": [40.6500, 29.2711],
    "Yozgat": [39.8184, 34.8147],
    "Zonguldak": [41.4550, 31.7807],
    "Aksaray": [38.7361, 34.0347]
}

# Streamlit başlık
st.title("Türkiye Haritası - Arama Özelliği")
search_query = st.text_input("Aramak istediğiniz kelimeyi girin:")

# Harita oluştur
m = folium.Map(location=[39, 35], zoom_start=6)

for city, coord in coords.items():
    excel_key = city if city != "Afyonkarahisar" else "Afyon"
    words = excel_keywords.get(excel_key, [])
    match = any(search_query.lower() in word.lower() for word in words) if search_query else False
    color = 'red' if match else 'blue'
    folium.Marker(
        location=coord,
        popup=folium.Popup(city, max_width=150),
        icon=folium.Icon(color=color)
    ).add_to(m)

folium_static(m)