Dateipfad angeben und merken

Fragen zu Tkinter.
Antworten
xfire
User
Beiträge: 5
Registriert: Dienstag 28. Mai 2019, 19:25

Hallo,
ich weiß das ist sicherlich eine Anfängerfrage, aber meine Recherchen bringen mich nicht wirklich weiter.

Ich möchte den User einen Dateipfad auswählen lassen in dem eine csv- Datei liegen soll. (Die CSV-Datei wird im Laufe des Programms mit Pandas durchsucht, Daten werden geändert oder hinzugefügt.
Bei späterer Nutzung soll es dann unnötig werden sich mit dem Dateipfad abzugeben. Das Programm soll aber in diversen Funktionen auf die Datei zugreifen. Ich wollte eigentlich erst einmal eine CSV Datei erzeugen ("falls es noch keine gibt"- Aber ein Problem nach dem andern). Dann wird die Datei bearbeitet und gespeichert. Unter pfad_wahl würde ich dann gerne den Dateinamen und auch den Pfad ändern können. Aber mit askopenfile bekomme ich nur einen Pfad keinen Dateinamen und auch das funktionert nicht wirklich gut.
Den Dateipfad würde ich dann in einer Datei- (Text, Dat,...??) abespeichern wollen, damit ich beim nächsten Mal die Datei nicht suchen muss. Aber momentan scheitere ich noch an der Erzeugung von Datei und vorallem dem Pfad.
Wer könnte sich denn einmal meines Problems annehmen.

Hier ist mal mein fehlerhafter Code meiner Datei zu Testzwecken:
from tkinter import filedialog
from tkinter import *
import pandas as pd


def pfad_wahl():

datei= filedialog.askopenfile()
return datei


def speichern():

list=pd.read_csv(datei)
ort = len(list)
list.loc[ort, :] = ein.get()
list.to_csv(datei)

#erzeugen einer leeren CSV Datei
datei = open("test.csv","w")
datei.close()
#GUI
root=Tk()
list = pd.read_csv(datei)
Lab=Label(root,text=list)
Lab.pack()
sp=Button(root,text="speichern",command=speichern)
sp.pack()
pf=Button(root,text= "Pfad wählen",command=pfad_wahl)
pf.pack()
ein=Entry(root)
ein.pack()

mainloop()
Vielen Dank
xfire
Antworten