In [ ]:
#xml auslesen

import glob
import pandas as pd
import sqlalchemy as sql
import xmltodict
import xml.etree.ElementTree as ET

#ermittelt alle HeizkoerperDateien Dateipfader
HKXMLs = glob.glob('./absys_files/HKxml/*')

# Defines Database Parameters
table = 'absys'
engine = sql.create_engine('mysql+pymysql://user:pwd@host:3306/db')

In [ ]:
HKColumns = {'cmid':int,
             'laenge':str,
             'hoehe':str,
             'tiefe':str,
             'faktor':float,
             'normtemp':str}
df = pd.DataFrame(columns=HKColumns.keys())
for xmlDokument in HKXMLs:
    #print(xmlDokument)
    try:
        with open(xmlDokument, encoding="WINDOWS-1252") as fd:
            doc = xmltodict.parse(fd.read())
            
        # XML Bereiche zuordnen
        try: 
            #print(doc['VFPData'][])
            df = df.append({list(HKColumns.keys())[0]:doc['VFPData']['bewertung']['cmid'],
                            list(HKColumns.keys())[1]:doc['VFPData']['bewertung']['nlaenge'],
                            list(HKColumns.keys())[2]:doc['VFPData']['bewertung']['nhoehe'],
                            list(HKColumns.keys())[3]:doc['VFPData']['bewertung']['ntiefe'],
                            list(HKColumns.keys())[4]:doc['VFPData']['bewertung']['nfaktor1'],
                            list(HKColumns.keys())[5]:doc['VFPData']['bewertung']['cnormtemp1']},
                            ignore_index=True)
        except:
            print('Beim lesen der Daten aus der Datei '+xmlDokument+' ist ein fehler aufgetreten')
            raise
    except: print('Beim lesen der Datei '+xmlDokument+' ist ein fehler aufgetreten')

In [ ]:
df.to_sql(table, engine)