ich benötige eine kleine Tabelle zur Datenerfassung. Realisiert habe ich das mit Entrys. Dadurch wird der Code ziemlich aufgebläht und sieht megagrausam aus.
Code: Alles auswählen
class rel_definieren:
def __init__(self):
self.hf = Tk()
self.hf.title('Werte definieren')
self.fr01 = Frame(self.hf,bd=8)
self.fr01.pack()
self.lb01 = Label(self.fr01,text='Rel:',bd=3)
self.lb01.grid(row=1,column=0,sticky=W)
self.lb02 = Label(self.fr01,text='von:',bd=3)
self.lb02.grid(row=1,column=1,sticky=W)
self.lb03 = Label(self.fr01,text='bis:',bd=3)
self.lb03.grid(row=1,column=2,sticky=W)
self.en011 = Entry(self.fr01,width=7)
self.en011.grid(row=2,column=0)
self.en012 = Entry(self.fr01,width=13)
self.en012.grid(row=2,column=1)
self.en013 = Entry(self.fr01,width=13)
self.en013.grid(row=2,column=2)
self.en021 = Entry(self.fr01,width=7)
self.en021.grid(row=3,column=0)
self.en022 = Entry(self.fr01,width=13)
self.en022.grid(row=3,column=1)
self.en023 = Entry(self.fr01,width=13)
self.en023.grid(row=3,column=2)
self.en031 = Entry(self.fr01,width=7)
self.en031.grid(row=4,column=0)
self.en032 = Entry(self.fr01,width=13)
self.en032.grid(row=4,column=1)
self.en033 = Entry(self.fr01,width=13)
self.en033.grid(row=4,column=2)
self.en041 = Entry(self.fr01,width=7)
self.en041.grid(row=5,column=0)
self.en042 = Entry(self.fr01,width=13)
self.en042.grid(row=5,column=1)
self.en043 = Entry(self.fr01,width=13)
self.en043.grid(row=5,column=2)
self.en051 = Entry(self.fr01,width=7)
self.en051.grid(row=6,column=0)
self.en052 = Entry(self.fr01,width=13)
self.en052.grid(row=6,column=1)
self.en053 = Entry(self.fr01,width=13)
self.en053.grid(row=6,column=2)
self.en061 = Entry(self.fr01,width=7)
self.en061.grid(row=7,column=0)
self.en062 = Entry(self.fr01,width=13)
self.en062.grid(row=7,column=1)
self.en063 = Entry(self.fr01,width=13)
self.en063.grid(row=7,column=2)
self.en071 = Entry(self.fr01,width=7)
self.en071.grid(row=8,column=0)
self.en072 = Entry(self.fr01,width=13)
self.en072.grid(row=8,column=1)
self.en073 = Entry(self.fr01,width=13)
self.en073.grid(row=8,column=2)
self.en081 = Entry(self.fr01,width=7)
self.en081.grid(row=9,column=0)
self.en082 = Entry(self.fr01,width=13)
self.en082.grid(row=9,column=1)
self.en083 = Entry(self.fr01,width=13)
self.en083.grid(row=9,column=2)
self.en091 = Entry(self.fr01,width=7)
self.en091.grid(row=10,column=0)
self.en092 = Entry(self.fr01,width=13)
self.en092.grid(row=10,column=1)
self.en093 = Entry(self.fr01,width=13)
self.en093.grid(row=10,column=2)
self.en101 = Entry(self.fr01,width=7)
self.en101.grid(row=11,column=0)
self.en102 = Entry(self.fr01,width=13)
self.en102.grid(row=11,column=1)
self.en103 = Entry(self.fr01,width=13)
self.en103.grid(row=11,column=2)
self.en111 = Entry(self.fr01,width=7)
self.en111.grid(row=12,column=0)
self.en112 = Entry(self.fr01,width=13)
self.en112.grid(row=12,column=1)
self.en113 = Entry(self.fr01,width=13)
self.en113.grid(row=12,column=2)
self.en121 = Entry(self.fr01,width=7)
self.en121.grid(row=13,column=0)
self.en122 = Entry(self.fr01,width=13)
self.en122.grid(row=13,column=1)
self.en123 = Entry(self.fr01,width=13)
self.en123.grid(row=13,column=2)
self.en131 = Entry(self.fr01,width=7)
self.en131.grid(row=14,column=0)
self.en132 = Entry(self.fr01,width=13)
self.en132.grid(row=14,column=1)
self.en133 = Entry(self.fr01,width=13)
self.en133.grid(row=14,column=2)
self.en141 = Entry(self.fr01,width=7)
self.en141.grid(row=15,column=0)
self.en142 = Entry(self.fr01,width=13)
self.en142.grid(row=15,column=1)
self.en143 = Entry(self.fr01,width=13)
self.en143.grid(row=15,column=2)
self.en151 = Entry(self.fr01,width=7)
self.en151.grid(row=16,column=0)
self.en152 = Entry(self.fr01,width=13)
self.en152.grid(row=16,column=1)
self.en153 = Entry(self.fr01,width=13)
self.en153.grid(row=16,column=2)
self.fr02 = Frame(self.fr01)
self.fr02.grid(row=17,columnspan=3,sticky=E+W,pady=5)
self.bu01 = Button(self.fr02,text='Speichern',command=self.liste_speichern)
self.bu01.pack(side=LEFT,anchor=W)
self.bu02 = Button(self.fr02,text=' Beenden ', command=self.ende)
self.bu02.pack(side=RIGHT,anchor=E)
self.lineliste = []
self.datei_einlesen()
self.liste_anzeigen()
self.hf.mainloop()
def datei_einlesen(self):
self.datei = file('rel.psv','r')
for line in self.datei:
line = line.replace(' ','').replace('\n','').split(';')
del line[-1]
self.lineliste.append(line)
self.datei.close()
print self.lineliste
def liste_anzeigen(self):
for line in self.lineliste:
self.en011.insert('end',line[0])
self.en012.insert('end',line[1])
self.en013.insert('end',line[2])
def liste_verandern(self):
self.line01 = self.en011.get()
if self.line01 != '':
tmp = []
tmp.append(self.line01)
for i in range(int(self.en012.get()),int(self.en013.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line02 = self.en021.get()
if self.line02 != '':
tmp = []
tmp.append(self.line02)
for i in range(int(self.en022.get()),int(self.en023.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line03 = self.en031.get()
if self.line03 != '':
tmp = []
tmp.append(self.line03)
for i in range(int(self.en032.get()),int(self.en033.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line04 = self.en041.get()
if self.line04 != '':
tmp = []
tmp.append(self.line04)
for i in range(int(self.en042.get()),int(self.en043.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line05 = self.en051.get()
if self.line05 != '':
tmp = []
tmp.append(self.line05)
for i in range(int(self.en052.get()),int(self.en053.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line06 = self.en061.get()
if self.line06 != '':
tmp = []
tmp.append(self.line06)
for i in range(int(self.en062.get()),int(self.en063.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line07 = self.en071.get()
if self.line07 != '':
tmp = []
tmp.append(self.line07)
for i in range(int(self.en072.get()),int(self.en073.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line08 = self.en081.get()
if self.line08 != '':
tmp = []
tmp.append(self.line08)
for i in range(int(self.en082.get()),int(self.en083.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line09 = self.en091.get()
if self.line09 != '':
tmp = []
tmp.append(self.line09)
for i in range(int(self.en092.get()),int(self.en093.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line10 = self.en101.get()
if self.line10 != '':
tmp = []
tmp.append(self.line10)
for i in range(int(self.en102.get()),int(self.en103.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line11 = self.en111.get()
if self.line11 != '':
tmp = []
tmp.append(self.line11)
for i in range(int(self.en112.get()),int(self.en113.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line12 = self.en121.get()
if self.line12 != '':
tmp = []
tmp.append(self.line12)
for i in range(int(self.en122.get()),int(self.en123.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line13 = self.en131.get()
if self.line13 != '':
tmp = []
tmp.append(self.line13)
for i in range(int(self.en132.get()),int(self.en133.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line14 = self.en141.get()
if self.line14 != '':
tmp = []
tmp.append(self.line14)
for i in range(int(self.en142.get()),int(self.en143.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line15 = self.en151.get()
if self.line15 != '':
tmp = []
tmp.append(self.line15)
for i in range(int(self.en152.get()),int(self.en153.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
#print self.linenliste
def liste_speichern(self):
self.liste_verandern()
self.datei = file('rel.psv','w')
for line in self.linenliste:
lenline = len(line)
for v in line:
self.datei.write('%s;'%v)
self.datei.write('\n')
self.datei.close()
def ende(self):
self.hf.destroy()
if __name__ == '__main__':
rel_definieren()
Gibt es eine Möglichkeit, den Code einfacher darzustellen? (es muss aber nicht eine Zeile sein

Ziel ist, die Daten zu erfassen, in eine Tabelle zu speichern und in einer Datei abzulegen. Aus dieser Datei werden auch wieder die vorhandenen Daten bei Programmstart eingelesen und in den Entrys angezeigt.
Vielen Dank
Stephan