Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 试图让我的数据写入特定列并按字母顺序排序_Sorting_Csv_Tkinter - Fatal编程技术网

Sorting 试图让我的数据写入特定列并按字母顺序排序

Sorting 试图让我的数据写入特定列并按字母顺序排序,sorting,csv,tkinter,Sorting,Csv,Tkinter,下面的代码可以工作,但是当我打开CSV文件时,它不能工作 按字母顺序或任何特定列列出 我希望姓名出现在第1列和等级 显示在其旁边的第2列中。我必须把这个放进去 Tkinter发现我不能把它分类让人沮丧。 我不熟悉这一点,如有任何建议,我将不胜感激 from tkinter import * import csv class App(Frame): def __init__(self, master=None): Frame.__init__(self, master)

下面的代码可以工作,但是当我打开CSV文件时,它不能工作 按字母顺序或任何特定列列出

我希望
姓名
出现在第1列
等级
显示在其旁边的第2列中。我必须把这个放进去 Tkinter发现我不能把它分类让人沮丧。 我不熟悉这一点,如有任何建议,我将不胜感激

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

要将每个名称和等级写在单独的列中,请执行以下操作:

开关

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

w.writerow([self.n.get(), self.e.get()])
关于如何按字母顺序对csv文件进行排序,已经有一个问题,该问题有3个答案可以帮助您: