ich bin noch recht neu was Programmieren mit Python betrifft und daher bitte bei (Anfänger-)Fehlern nachsichtig zu sein.
Ich möchte einen Code geschrieben, der mich über ein Fenster eine CSV-Datei auswählen lässt. Dann soll das Programm die erste Zeile nach Keywörtern durchsuchen und sofern diese enthalten sind die Spalte danach prüfen, ob alle Einträge in dieser Spalte vorhanden sind. Sollte eines oder alle Keywörter nicht vorhanden sein, soll ein Popup Fenster mit einer Nachricht aufgehen.
Bisher habe ich es leider nur geschafft, dass die CSV-Datei nach einen Keywort durchsucht wird und nicht nach zwei. Desweiteren poppt das Warnfenster beim Keyword versuchspunkt drei mal auf, bevor er schließlich das Keyword findet. Das verstehe ich leider nicht ganz, da das keyword doch in der ersten Zeile bereits vorkommt oder laufe ich das ganze spaltenweise ab?
Das ist meine CSV-Datei:
Code: Alles auswählen
Temperatur,Gewicht,Material,versuchspunkt
13°C,180mg, Material X,1
290°C,20kg,Material Y,
hier ist der entsprechende Auszug von meinem Code:
Code: Alles auswählen
def popup_warnung():
root = Tk()
T = Text(root, height=2, width=50)
T.pack()
T.insert(END, "Es existiert leider kein Versuchspunkt.")
mainloop()
def analyze_file(inputfile, keyword):
for line in inputfile:
if keyword in line:
print ("Versuchspunkt existiert")
break
else:
popup_warnung()
def import_csv_data():
global v
csv_file_path = askopenfilename()
print(csv_file_path)
v.set(csv_file_path)
datafile = pd.read_csv(csv_file_path)
#print (datafile)
analyze_file (datafile, 'versuchspunkt')
# Fenster zum Auswählen der CSV-Datei
root = tk.Tk()
tk.Label(root, text='file-path').grid(row=0, column=0)
v = tk.StringVar()
entry = tk.Entry(root, textvariable=v).grid(row=0, column=1)
tk.Button(root, text='Durchsuchen',command=import_csv_data).grid(row=1, column=0)
#tk.Button(root, text='Close',command=root.destroy).grid(row=1, column=1)
root.mainloop()