Přeskočit na obsah
czechdatasets

Výsledky voleb v ČR podle obcí a okrsků 1996–2026

Výsledky voleb podle obcí i okrsků: sněmovna, Senát, Evropský parlament, kraje, obce a prezident. Všechno v jedné struktuře, kódy obcí převedené na dnešní RÚIAN. U voleb od roku 2016 je u každého okrsku kód okrsku RÚIAN, takže výsledky jdou rovnou nakreslit do mapy.

Ukázka zdarma

Jednorázově, konečná cena za osobní licenci, firemní vybereš v objednávce · stav dat 17. 10. 2026

Kupuješ balíček Volby 1996–2026 + školy. Kromě téhle sady v něm je: Školy a školská zařízení.

Ostrov s vesnickou školou se zvonicí a dřevěnou volební urnou na stole ve školním dvořeOstrov s vesnickou školou se zvonicí a dřevěnou volební urnou na stole ve školním dvoře

Kolik práce to šetří

Sjednotit 60 voleb z 31 exportů volby.cz s různými formáty, kódováními a číselníky, sečíst městské části, převést historické kódy obcí na RÚIAN, sečíst hlasy kandidátů komunálních voleb na kandidátky v okrscích a napárovat 218 335 okrsků na verzi okrsku RÚIAN platnou v den voleb. Součty ověřené proti celkovým výsledkům ČSÚ: Senát ve všech 977 obvodech a kolech, komunální volby u všech 183 152 kandidátek.

Změřeno při naší stavbě

Řádků kódu a testů
1 620

Spotřebu AI agenta máme změřenou u 6 jiných sad: první funkční verze kódu stála 10 mil. až 40 mil. tokenů a 21–62 min běhu agenta.

  • Ukázka zdarma: výřez všech tabulek za Kutnohorsko v CSV a Parquetu. Stáhnout ukázku
Stav dat
17. 10. 2026
Řádků
8,8 mil.
Tabulek
18
Formáty
PostgreSQL, Parquet, CSV, JSON
Licence zdroje
CC BY 4.0 (ČSÚ, ČÚZK)

Co je uvnitř

Výsledky voleb do Poslanecké sněmovny (2002–2025), Senátu (1996–2026 včetně doplňovacích voleb, obě kola), prezidenta (2013–2023, obě kola), Evropského parlamentu (2004–2024), zastupitelstev krajů (2000–2024) a zastupitelstev obcí (2002–2026) za obce a okrsky v jednotné struktuře, s převodem kódů obcí na RÚIAN a s kódem volebního okrsku RÚIAN u voleb od roku 2016.

TabulkaŘádků
volbySeznam zahrnutých voleb60
stranyKandidující strany (PS, EP, KZ) a kandidáti na prezidenta s číslem na hlasovacím lístku900
volebni_stranyČíselník volebních stran ČSÚ (CVS) – sjednocený ze všech zahrnutých voleb, platí nejnovější název1 719
vysledky_obceSouhrnné výsledky za obce (PS, prezident, EP, KZ). Městské části a obvody jsou sečteny za celé město156 307
vysledky_obce_stranyHlasy pro strany / kandidáty v obcích (dlouhý formát; řádky s 0 hlasy vynechány)1 706 616
vysledky_okrskySouhrnné výsledky za volební okrsky (PS, prezident, EP, KZ)362 688
vysledky_okrsky_stranyHlasy pro strany / kandidáty v okrscích (dlouhý formát; řádky s 0 hlasy vynechány)3 966 767
kv_zastupitelstvaVolby do zastupitelstev obcí, městských částí a hl. m. Prahy: souhrn za zastupitelstvo a volební obvod (řádný termín)44 792
kv_kandidatkyVýsledky kandidátních listin ve volbách do zastupitelstev obcí (řádný termín)183 152
kv_okrskyKomunální volby po okrscích: účast v okrsku pro každé zastupitelstvo, do kterého se v něm volilo (v členěných městech dva řádky na okrsek: zastupitelstvo města a městské části)118 017
Zobrazit všech 18 tabulek
TabulkaŘádků
kv_okrsky_kandidatkyKomunální volby po okrscích: hlasy pro kandidátní listiny (součet hlasů pro kandidáty listiny; řádky s 0 hlasy vynechány)907 074
senat_obvodyVolby do Senátu: souhrn za volební obvod a kolo (řádné, doplňovací i opakované volby 1996–2026)977
senat_kandidatiVolby do Senátu: kandidáti v obvodech s výsledkem obou kol (jméno, tituly, volební a navrhující strana; bez věku, povolání a bydliště)3 698
senat_obceVolby do Senátu: souhrn za obec v rámci obvodu a kolo. Městské části jsou sečteny za město; město rozdělené do více obvodů má řádek za každý obvod75 537
senat_obce_kandidatiVolby do Senátu: hlasy pro kandidáty v obcích (dlouhý formát; řádky s 0 hlasy vynechány)323 002
senat_okrskyVolby do Senátu: souhrn za volební okrsek a kolo177 982
senat_okrsky_kandidatiVolby do Senátu: hlasy pro kandidáty v okrscích (dlouhý formát; řádky s 0 hlasy vynechány)782 695
obce_mapovaniPřevod kódů obcí a městských částí z volebních dat na obce RÚIAN 2026-096 427

Kód okrsku RÚIAN mají volby od října 2016, hranice okrsků jsou v sadě RÚIAN. Jména jsou jen u kandidátů na prezidenta a do Senátu; kandidátky nezávislých kandidátů v komunálních volbách mají obecný název.

Ke stažení

Každý formát obsahuje stejná data. Stáhneš jen ten, který potřebuješ; integritu ověříš souborem SHA256SUMS.

FormátSouborůVelikost
PostgreSQLschema.sql s typy, klíči, indexy a komentáři a import.sh, který načte data z CSV241 kB
ParquetJeden soubor na tabulku (zstd). DuckDB, Polars a pandas ho čtou bez importu.1840 MB
CSVUTF-8, čárka, hlavička; velké tabulky jako .csv.gz18118 MB
JSONPole objektů, velké tabulky jako JSON Lines (.jsonl.gz)18322 MB

Ukázka kódu

Další příklady pro SQL, DuckDB, Python a Node.js jsou v README.md uvnitř balíčku.

Senátoři zvolení v roce 2026DuckDB
-- senátoři zvolení v roce 2026 s výsledkem obou kol
SELECT o.obvod, o.obvod_nazev, k.jmeno, k.prijmeni, k.strana_zkratka, k.pct_kolo1, k.pct_kolo2
FROM 'parquet/senat_kandidati.parquet' k
JOIN 'parquet/senat_obvody.parquet' o ON o.volba_id = k.volba_id AND o.obvod = k.obvod AND o.kolo = 1
WHERE k.volba_id = 'se2026' AND k.zvolen ORDER BY o.obvod;
Mapa okrsků s hranicemi z RÚIANDuckDB
-- mapa okrsků: podíl vítěze 2. kola senátních voleb 2026 s hranicemi ze sady ruian (dnešní stav)
SELECT o.obvod, o.volebni_okrsek_kod, o.ucast_pct, round(100.0 * h.hlasy / o.platne_hlasy, 2) AS pct_viteze, r.hranice
FROM 'parquet/senat_okrsky.parquet' o
JOIN 'parquet/senat_okrsky_kandidati.parquet' h
  ON h.volba_id = o.volba_id AND h.kolo = o.kolo AND h.uzemi_kod = o.uzemi_kod AND h.okrsek = o.okrsek
JOIN 'parquet/senat_kandidati.parquet' k
  ON k.volba_id = h.volba_id AND k.obvod = h.obvod AND k.kandidat_kod = h.kandidat_kod
JOIN 'ruian/parquet/volebni_okrsky.parquet' r ON r.kod = o.volebni_okrsek_kod
WHERE o.volba_id = 'se2026' AND o.kolo = 2 AND k.zvolen;
Účast ve 2. kole prezidentské volby 2023DuckDB
-- účast v 2. kole prezidentské volby 2023 podle krajů
SELECT kraj_kod, round(100.0 * sum(vydane_obalky) / sum(volici_v_seznamu), 2) AS ucast
FROM 'parquet/vysledky_obce.parquet' WHERE volba_id = 'prez2023' AND kolo = 2 AND NOT zahranici
GROUP BY 1 ORDER BY 2 DESC;
Komunální volby v Brně po okrscíchPostgreSQL
-- nejsilnější kandidátka v každém okrsku: zastupitelstvo města Brna 2026
SELECT DISTINCT ON (h.okrsek) h.okrsek, h.volebni_okrsek_kod, k.nazev, h.hlasy
FROM volby.kv_okrsky_kandidatky h
JOIN volby.kv_kandidatky k USING (volba_id, zastupitelstvo_kod, obvod, strana_kod)
WHERE h.volba_id = 'kv2026' AND h.zastupitelstvo_kod = 582786
ORDER BY h.okrsek, h.hlasy DESC;

Zdroj a licence

Zdroje
Zpracování
czechdatasets.com. Data jsou upravená a nejde o oficiální výstup úřadu; povinné uvedení zdroje je v LICENCE.txt.

Volby 1996–2026 + školy za 390 Kč.

Jednorázová platba, stažení hned po zaplacení, bez účtu a předplatného. Aktualizace sady jsou v ceně. Všech 15 placených sad dohromady stojí 2 490 Kč, o 3 510 Kč méně než po jednom.