import mysql.connector import os db_config = { 'host': '127.0.0.1', 'port': 3307, 'user': 'root', 'password': 'Vlado9674+', 'database': 'ordinace' } ROOT_DIR = r'm:\Medicus\DavkyExport\09305000' def hromadny_raw_import(): try: conn = mysql.connector.connect(**db_config) cursor = conn.cursor() for root, dirs, files in os.walk(ROOT_DIR): for filename in files: if filename.upper().startswith('KDAVKA'): filepath = os.path.join(root, filename) with open(filepath, 'r', encoding='cp1250') as f: first_line = f.readline().strip('\n') if not first_line.startswith('DP'): continue # Unikátní klíč (prvních 30 znaků) fingerprint = first_line[:30].strip() # Kontrola duplicity cursor.execute("SELECT id_davky FROM davky WHERE identifikator = %s", (fingerprint,)) if cursor.fetchone(): continue print(f"Importuji: {filename} -> {fingerprint}") # Vložení dávky obdobi = first_line[20:26].strip() cursor.execute("INSERT INTO davky (identifikator, obdobi) VALUES (%s, %s)", (fingerprint, obdobi)) id_davky = cursor.lastrowid # Import všech řádků souboru with open(filepath, 'r', encoding='cp1250') as f: id_posledni_a = None for idx, line in enumerate(f, 1): raw = line.strip('\n') if not raw: continue typ = raw[0] # Uložení věty cursor.execute( "INSERT INTO vety (id_davky, typ_vety, obsah_radku, poradi_v_souboru) VALUES (%s, %s, %s, %s)", (id_davky, typ, raw, idx) ) current_id_vety = cursor.lastrowid # Hierarchie pod 'A' if typ == 'A': id_posledni_a = current_id_vety if id_posledni_a: cursor.execute("UPDATE vety SET id_dokladu_vazba = %s WHERE id_vety = %s", (id_posledni_a, current_id_vety)) conn.commit() print("Raw import dokončen.") finally: conn.close() hromadny_raw_import()