hatte hier bereits schon mal geschrieben und habe noch ein Problem mit meinem Programm.
Also ich wollte ein Programm schreiben, mit dem ich Daten aus Excel auslesen kann und diese dann in CSV speichern.
mein Programm habe ich für eine "Muster-Datei" geschreiben, bei der auch alles soweit funktioniert, bis auf das Datum.
Da bekomme ich einen Wert wie etwa "39931". Excel hat ja eine bestimmte Zählmethode, kann man das irgendwie umrechnen? in erster Linie interessiert mich auch nur die Jahreszahl.
Bei anderen Dateien habe ich aber das Problem, dass nicht alle zu lesenden Zellen einen gültigen Wert haben. Da gibt mir dann das Programm statt "Div/0" oder eben einem Fehler eine "7" aus.
Ich werde mal das komplette Programm hier rein stellen und hoffe das man mir weiter helfen kann.
Vielen Dank vorab schon mal!
Code: Alles auswählen
#import module
import xlrd
import csv
from tkinter import messagebox
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfilename
root = Tk()
Title = root.title( "File Opener")
label = ttk.Label(root, text =" Dateiname angeben",foreground="blue",font=("Helvetica", 12))
label.pack()
eingabe = Entry(root) ## Eingabezeile erzeugen
eingabe.pack()
def OpenFile():
name = askopenfilename(filetypes =(("Excel File", "*.xls"),("All Files","*.*")),
title = "Wähle eine xls Datei.")
print (name)
#def callback():
#file_location = OpenFile
workbook = xlrd.open_workbook(name)
sheet = workbook.sheet_by_index(0)
ztest=(sheet.cell_value(0, 0))
if ztest!= "krl":
messagebox.showinfo("ERROR", "Ungültige Datei ausgewählt!")
else:
try:
z1 = (sheet.cell_value(5, 2))
z2 = (sheet.cell_value(15, 2))
z3 = float(sheet.cell_value(67, 13))
z4 = float(sheet.cell_value(68, 13))
z5 = float(sheet.cell_value(69, 13))
z6 = (sheet.cell_value(63, 13))
z7 = float(sheet.cell_value(71,10))
z8 = float(sheet.cell_value(3, 5))
z9 = (sheet.cell_value(5, 2))
z10 = (sheet.cell_value(15, 2))
z11 = (sheet.cell_value(67, 17))
z12 = (sheet.cell_value(68, 17))
z13 = (sheet.cell_value(69, 17))
z14 = (sheet.cell_value(63, 17))
z15 = (sheet.cell_value(71,14))
z16 = (sheet.cell_value(3, 14))
z17 = (sheet.cell_value(5, 2))
z18 = (sheet.cell_value(15, 2))
z19 = (sheet.cell_value(67, 21))
z20 = (sheet.cell_value(68, 21))
z21 = (sheet.cell_value(69, 21))
z22 = (sheet.cell_value(63, 21))
z23 = (sheet.cell_value(71,18))
z24 = (sheet.cell_value(3, 18))
z25 = (sheet.cell_value(5, 2))
z26 = (sheet.cell_value(15, 2))
z27 = (sheet.cell_value(67, 29))
z28 = (sheet.cell_value(68, 29))
z29 = (sheet.cell_value(69, 29))
z30 = (sheet.cell_value(63, 29))
z31 = (sheet.cell_value(71,26))
z32 = (sheet.cell_value(3, 26))
z33 = (sheet.cell_value(5, 2))
z34 = (sheet.cell_value(15, 2))
z35 = (sheet.cell_value(67, 33))
z36 = (sheet.cell_value(68, 33))
z37 = (sheet.cell_value(69, 33))
z38 = (sheet.cell_value(63, 33))
z39 = (sheet.cell_value(71,30))
z40 = (sheet.cell_value(3, 30))
z41 = (sheet.cell_value(5, 2))
z42 = (sheet.cell_value(15, 2))
z43 = (sheet.cell_value(67, 37))
z44 = (sheet.cell_value(68, 37))
z45 = (sheet.cell_value(69, 37))
z46 = (sheet.cell_value(63, 37))
z47 = (sheet.cell_value(71,34))
z48 = (sheet.cell_value(3,34))
z49 = (sheet.cell_value(5, 2))
z50 = (sheet.cell_value(15, 2))
z51 = (sheet.cell_value(67, 45))
z52 = (sheet.cell_value(68, 45))
z53 = (sheet.cell_value(69, 45))
z54 = (sheet.cell_value(63, 45))
z55 = (sheet.cell_value(71,42))
z56 = (sheet.cell_value(3, 42))
z57 = (sheet.cell_value(5, 2))
z58 = (sheet.cell_value(15, 2))
z59 = (sheet.cell_value(67, 49))
z60 = (sheet.cell_value(68, 49))
z61 = (sheet.cell_value(69, 49))
z62 = (sheet.cell_value(63, 49))
z63 = (sheet.cell_value(71,46))
z64 = (sheet.cell_value(3,46))
z65 = (sheet.cell_value(5, 2))
z66 = (sheet.cell_value(15, 2))
z67 = (sheet.cell_value(67, 53))
z68 = (sheet.cell_value(68, 53))
z69 = (sheet.cell_value(69, 53))
z70 = (sheet.cell_value(63, 53))
z71 = (sheet.cell_value(71,50))
z72 = (sheet.cell_value(3, 50))
z73 = (sheet.cell_value(5, 2))
z74 = (sheet.cell_value(15, 2))
z75 = (sheet.cell_value(67, 61))
z76 = (sheet.cell_value(68, 61))
z77 = (sheet.cell_value(69, 61))
z78 = (sheet.cell_value(63, 61))
z79 = (sheet.cell_value(71,58))
z80 = (sheet.cell_value(3, 58))
z81 = (sheet.cell_value(5, 2))
z82 = (sheet.cell_value(15, 2))
z83 = (sheet.cell_value(67, 65))
z84 = (sheet.cell_value(68, 65))
z85 = (sheet.cell_value(69, 65))
z86 = (sheet.cell_value(63, 65))
z87 = (sheet.cell_value(71,62))
z88 = (sheet.cell_value(3, 62))
z89 = (sheet.cell_value(5, 2))
z90 = (sheet.cell_value(15, 2))
z91 = (sheet.cell_value(67, 69))
z92 = (sheet.cell_value(68, 69))
z93 = (sheet.cell_value(69, 69))
z94 = (sheet.cell_value(63, 69))
z95 = (sheet.cell_value(71,66))
z96 = (sheet.cell_value(3, 66))
z97 = (sheet.cell_value(5, 2))
z98 = (sheet.cell_value(15, 2))
z99 = (sheet.cell_value(67, 77))
z100 = (sheet.cell_value(68,77))
z101= (sheet.cell_value(69, 77))
z102= (sheet.cell_value(63, 77))
z103= (sheet.cell_value(71,74))
z104= (sheet.cell_value(3,74))
z105= (sheet.cell_value(5, 2))
z106= (sheet.cell_value(15, 2))
z107= (sheet.cell_value(67, 81))
z108= (sheet.cell_value(68, 81))
z109= (sheet.cell_value(69, 81))
z110= (sheet.cell_value(63, 81))
z111= (sheet.cell_value(71,78))
z112= (sheet.cell_value(3, 78))
z113= (sheet.cell_value(5, 2))
z114= (sheet.cell_value(15, 2))
z115= (sheet.cell_value(67, 85))
z116= (sheet.cell_value(68, 85))
z117= (sheet.cell_value(69, 85))
z118= (sheet.cell_value(63, 85))
z119= (sheet.cell_value(71, 82))
z120= (sheet.cell_value(3, 82))
z121= (sheet.cell_value(5, 2))
z122= (sheet.cell_value(15, 2))
z123= (sheet.cell_value(67, 93))
z124= (sheet.cell_value(68, 93))
z125= (sheet.cell_value(69, 93))
z126= (sheet.cell_value(63, 93))
z127= (sheet.cell_value(71, 90))
z128= (sheet.cell_value(3, 90))
z129= (sheet.cell_value(5, 2))
z130= (sheet.cell_value(15, 2))
z131= (sheet.cell_value(67, 97))
z132= (sheet.cell_value(68, 97))
z133= (sheet.cell_value(69, 97))
z134= (sheet.cell_value(63, 97))
z135= (sheet.cell_value(71, 94))
z136= (sheet.cell_value(3, 94))
z137= (sheet.cell_value(5, 2))
z138= (sheet.cell_value(15, 2))
z139= (sheet.cell_value(67, 101))
z140= (sheet.cell_value(68, 101))
z141= (sheet.cell_value(69, 101))
z142= (sheet.cell_value(63, 101))
z143= (sheet.cell_value(71, 98))
z144= (sheet.cell_value(3, 98))
except IndexError:
print("2")
def ww():
if (sheet.cell_value(5 , 2)) =="Baum":
return "1"
if (sheet.cell_value(5, 2)) == "Wald":
return "2"
if (sheet.cell_value(5, 2)) == "Strauch":
return "3"
if (sheet.cell_value(5, 2)) == "Blüte":
return "4"
if (sheet.cell_value(5, 2)) == "Knospe":
return "5"
# c = csv.writer(open("/home/alpha/Schreibtisch/python/21.csv", "w"))
# c.writerow(["werk", "wstoff", "klimat","atro", "feuchte", "dicke", "gehalt", "jahr"])
c = csv.writer(open("/home/alpha/Schreibtisch/python/57.csv", "a"))
# c.writerow([sheet.cell_value(5, 2)] + [sheet.cell_value(15, 2)] + [sheet.cell_value(67, 13)]
# + [sheet.cell_value(68, 13)] + [sheet.cell_value(69, 13)] + [sheet.cell_value(63, 13)]
# + [sheet.cell_value(71,10)] + [sheet.cell_value(3, 5)])
try:
c.writerow([ww()] + [z2] + ["%0.3f" % (z3)] +["%0.3f" % (z4)]+["%0.2f" % (z5)]+[ (z6)]+["%.3f" % (z7)] +
[z8])
except IndexError and TypeError and UnboundLocalError and ValueError:
return ""
try:
c.writerow([ww()] + [z10] + ["%0.3f" % (z11)] + ["%0.3f" % (z12)] + ["%0.2f" % (z13)] + ["%0.3f" % (z14)] + ["%.3f" % (z15)] +
[z16])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z18] + ["%0.3f" % (z19)] + ["%0.3f" % (z20)] + ["%0.2f" % (z21)] + ["%0.3f" % (z22)] + ["%.3f" % (z23)] +
[z24])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z26] + ["%0.3f" % (z27)] + ["%0.3f" % (z28)] + ["%0.2f" % (z29)] + ["%0.3f" % (z30)] + ["%.3f" % (z31)] +
[z32])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z34] + ["%0.3f" % (z35)] + ["%0.3f" % (z36)] + ["%0.2f" % (z37)] + ["%0.3f" % (z38)] + ["%.3f" % (z39)] +
[z40])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z42] + ["%0.3f" % (z43)] + ["%0.3f" % (z44)] + ["%0.2f" % (z45)] + ["%0.3f" % (z46)] + ["%.3f" % (z47)] +
[z48])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z50] + ["%0.3f" % (z51)] +["%0.3f" % (z52)]+["%0.2f" % (z53)]+["%0.3f" % (z54)]+["%.3f" % (z55)] +
[z56])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z58] + ["%0.3f" % (z59)] + ["%0.3f" % (z60)] + ["%0.2f" % (z61)] + ["%0.3f" % (z62)] + ["%.3f" % (z63)] +
[z64])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z66] + ["%0.3f" % (z67)] + ["%0.3f" % (z68)] + ["%0.2f" % (z69)] + ["%0.3f" % (z70)] + ["%.3f" % (z71)] +
[z72])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z74] + ["%0.3f" % (z75)] + ["%0.3f" % (z76)] + ["%0.2f" % (z77)] + ["%0.3f" % (z78)] + ["%.3f" % (z79)] +
[z80])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z82] + ["%0.3f" % (z83)] + ["%0.3f" % (z84)] + ["%0.2f" % (z85)] + ["%0.3f" % (z86)] + ["%.3f" % (z87)] +
[z88])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z90] + ["%0.3f" % (z91)] + ["%0.3f" % (z92)] + ["%0.2f" % (z93)] + ["%0.3f" % (z94)] + ["%.3f" % (z95)] +
[z96])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z98] + ["%0.3f" % (z99)] + ["%0.3f" % (z100)] + ["%0.2f" % (z101)] + ["%0.3f" % (z102)] + ["%.3f" % (z103)] +
[z104])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z106] + ["%0.3f" % (z107)] + ["%0.3f" % (z108)] + ["%0.2f" % (z109)] + ["%0.3f" % (z110)] + ["%.3f" % (z111)] +
[z112])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z114] + ["%0.3f" % (z115)] +["%0.3f" % (z116)]+["%0.2f" % (z117)]+["%0.3f" % (z118)]+["%.3f" % (z119)] +
[z120])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z122] + ["%0.3f" % (z123)] + ["%0.3f" % (z124)] + ["%0.2f" % (z125)] + ["%0.3f" % (z126)] + ["%.3f" % (z127)] +
[z128])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z130] + ["%0.3f" % (z131)] + ["%0.3f" % (z132)] + ["%0.2f" % (z133)] + ["%0.3f" % (z134)] + ["%.3f" % (z135)] +
[z136])
except IndexError and TypeError and UnboundLocalError:
return ""
try:
c.writerow([ww()] + [z138] + ["%0.3f" % (z139)] + ["%0.3f" % (z140)] + ["%0.2f" % (z141)] + ["%0.3f" % (z142)] + ["%.3f" % (z143)] +
[z144])
except IndexError and TypeError and UnboundLocalError:
return ""
def anfang():
c = csv.writer(open("/home/alpha/Schreibtisch/python/57.csv", "w"))
c.writerow(["werk", "wstoff", "klimat","atro", "feuchte", "dicke", "gehalt", "jahr"])
menu = Menu(root)
root.config(menu=menu)
file = Menu(menu)
file.add_command(label = 'Anfang', command = anfang)
file.add_command(label = 'Öffne', command = OpenFile)
file.add_command(label = 'Exit', command = lambda:exit())
menu.add_cascade(label = 'File', menu = file)
#b = Button(root, text="hee", command=callback)
#b.pack()
print("fertig")
root.mainloop()