aus einer Text-Datei (aus einem Messgerät), möchte ich Messwerte und Beschreibungen in eine MySQL-Datenbank schreiben.
Die Text-Datei hat folgenden Aufbau:
***************
MODEL 6500-02
TEST NUMBER 100
DATE 14-MAR-12
APP NO WACKER
TEST MODE 150 AUTO
SITE WACKER CHE
VISUAL CHECK P
BOND RANGE 10A
EARTH 0.11 OHM P
LIMIT 0.30 OHM
INS 1 >299.9 MEG P
LIMIT 1.0 MEG
SUBST 1 0.54 mA P
LIMIT 3.50 mA
DES1 LADEGERÄT ÖK
DES2 ON-W LADETEC
DES3 HNIK 36V
LOC1 HDK
LOC2
TEXT1 TENNANT
TEXT2
********************
Diese ist z.Z. ca. 100 Messwerte lang.
Nun habe ich versucht, mittels folgendem Script eine Auswertung vorzunehmen:
Code: Alles auswählen
import string
a = ["TEST NUMBER", "DATE", "APP NO", "TEST MODE", "SITE",
"VISUAL CHECK", "BOND RANGE", "EARTH", "INS 1", "SUBST",
"DES1", "DES2", "DES3", "LOC1", "LOC2", "TEXT1", "TEXT2"]
b = ["Nr","Datum","Bezeichnung","Modus","Anlage","Sichtp","Messb","R_Schutzl",
"Isolation","Ableitstr","Gerät1","Gerät2","Gerät3","Standort1","Standort2", "Text1", "Text2"]
path = input("Bitte Datei mit Verzechinis eingeben: ")
print
print '%2s %7s %14s %10s %8s %6s %6s %6s %12s %12s %12s %10s %10s %8s %10s %10s %10s' \
% (b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15],b[16])
with open(path,"r") as file:
for line in file:
if line[0:len(a[0])] in a[0]:
print line[len(a[0])+1:len(line)-2],
elif line[0:len(a[1])] in a[1]:
print line[len(a[1])+1:len(line)-2],
elif line[0:len(a[2])] in a[2]:
print line[len(a[2])+1:len(line)-2],
elif line[0:len(a[3])] in a[3]:
print line[len(a[3])+1:len(line)-2],
elif line[0:len(a[4])] in a[4]:
print line[len(a[4])+1:len(line)-2],
elif line[0:len(a[5])] in a[5]:
print line[len(a[5])+1:len(line)-2],
elif line[0:len(a[6])] in a[6]:
print line[len(a[6])+1:len(line)-2],
elif line[0:len(a[7])] in a[7]:
print line[len(a[7])+1:len(line)-2],
elif line[0:len(a[8])] in a[8]:
print line[len(a[8])+1:len(line)-2],
elif line[0:len(a[9])] in a[9]:
print line[len(a[9])+1:len(line)-2],
elif line[0:len(a[10])] in a[10]:
print line[len(a[10])+1:len(line)-2],
elif line[0:len(a[11])] in a[11]:
print line[len(a[11])+1:len(line)-2],
elif line[0:len(a[12])] in a[12]:
print line[len(a[12])+1:len(line)-2],
elif line[0:len(a[13])] in a[13]:
print line[len(a[13])+1:len(line)-2],
elif line[0:len(a[14])] in a[14]:
print line[len(a[14])+1:len(line)-2]
elif line[0:len(a[15])] in a[15]:
print line[len(a[15])+1:len(line)-2]
elif line[0:len(a[16])] in a[16]:
print line[len(a[16])+1:len(line)-2]
Sicher ist das mit den vielen "elif" nicht die optimale Lösung, vielleich hat jemand einen Tip wie ich das verbessern kann.
Wass muss ich nach den "print line"-Anweisungen einfügen, um diese Werte in eine Datenbanktabelle mit den gleichen Spalten win in "b",
mittel INSERT- Anweisung einzufügen.
Datenbank-Verbindung ist nicht das Thema, das habe ich innen einem anderen Progamm (myconnect.py) realisiert.
Gruß
Armin