z230
This commit is contained in:
47
40 fio 02 diagnostika.py
Normal file
47
40 fio 02 diagnostika.py
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Diagnostický test: načti Fio CSV a ověř parsování datumu.
|
||||
Nenačítá se do MySQL – pouze vypíše výsledek.
|
||||
"""
|
||||
|
||||
import csv
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
# ✅ Tvoje cesta k souboru
|
||||
CSV_PATH = Path(r"u:\Dropbox\!!!Days\Downloads Z230\Vyhledane pohyby (1).csv")
|
||||
|
||||
|
||||
def parse_czech_date(s: str):
|
||||
"""Očistí řetězec a zkusí dd.mm.yyyy."""
|
||||
if not s:
|
||||
return None
|
||||
s = s.strip().replace("\u00A0", "").replace("\ufeff", "")
|
||||
try:
|
||||
return datetime.strptime(s, "%d.%m.%Y").date()
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
|
||||
def main():
|
||||
with open(CSV_PATH, "r", encoding="utf-8-sig", newline="") as f:
|
||||
reader = csv.DictReader(f, delimiter=";", quotechar='"')
|
||||
rows = list(reader)
|
||||
|
||||
print(f"Načteno {len(rows)} řádků.\n")
|
||||
print("Ukázka prvních 10 řádků s hodnotou Datum:\n")
|
||||
|
||||
for i, row in enumerate(rows[:10], start=1):
|
||||
raw = row.get("Datum")
|
||||
parsed = parse_czech_date(raw)
|
||||
print(f"{i:02d}. raw={repr(raw)} -> parsed={parsed}")
|
||||
|
||||
input("\n🔸 Stiskni Enter pro pokračování nebo ukončení... ")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if not CSV_PATH.exists():
|
||||
raise SystemExit(f"❌ Soubor {CSV_PATH} nenalezen.")
|
||||
main()
|
||||
Reference in New Issue
Block a user