2016-09-30 6 views
-1

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() 

Antwort

0

um jeden Namen und Klasse in einer separaten Spalte zu schreiben, dies zu tun:

Schalter

w.writerow([self.n.get()]) 
w.writerow([self.e.get()]) 

Für

w.writerow([self.n.get(), self.e.get()]) 

Es gibt bereits eine Frage zu ho w, um eine CSV-Datei alphabetisch zu sortieren, die 3 Antworten hat, die Ihnen helfen können:

How to sort data alphabetically in a csv file created in python?

Verwandte Themen