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)