Der folgende Code funktioniert, aber wenn ich die CSV-Datei öffne, wird nicht in alphabetischer Reihenfolge oder in einer bestimmten Spalte angezeigt.Ich versuche, meine Daten in bestimmte Spalten zu schreiben und in alphabetischer Reihenfolge zu sortieren
würde ich name
wie in Spalte 1 und die grade
erscheinen in Spalte 2 daneben zu kommen. Ich musste dies in Tkinter setzen und finde es frustrierend, dass ich es nicht sortieren kann. Ich bin neu dazu und wäre für jeden Hinweis dankbar.
from tkinter import *
import csv
class App(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.output()
#output
def output(self):
Heading=StringVar()
Heading.set("Please enter student name below")
Label(text='Name:').pack(side=LEFT,padx=5,pady=5)
self.n = Entry(root, width=10)
self.n.pack(side=LEFT,padx=5,pady=5)
#Text label
Label(text='Grade:').pack(side=LEFT,padx=5,pady=5)
self.e = Entry(root, width=10)
self.e.pack(side=LEFT,padx=6,pady=6)
self.b = Button(root, text='Submit', command=self.writeToFile)
self.b.pack(side=RIGHT,padx=5,pady=5)
self.b = Button(root, text='Clear', command=self.writeToFile)
self.b.pack(side=RIGHT,padx=5,pady=5)
#write to grade csv
def writeToFile(self):
with open('Grades.csv', 'a') as f:
w=csv.writer(f, quoting=csv.QUOTE_ALL)
w.writerow([self.n.get()])
w.writerow([self.e.get()])
#I think it is here I need to add in some code to write the data to a certain row or column in my CSV file.
if __name__ == "__main__":
root=Tk()
root.title('grade')
root.geometry('380x280')
app=App(master=root)
app.mainloop()
root.mainloop()