2017-05-26 104 views
0

如何將CSV導入到列表框?我想CSV數據進入下面的列表框,而不是文本,是否有一個Python文件命令,可以讓我做到這一點?使用Tkinter將CSV導入到Python列表框

class RequestGUI(): 

    lblStatus = Label(root, text = 'Status') 
    lblStatus.place(x =6, y =5) 

    lblFacName = Label(root, text = 'Facility Name') 
    lblFacName.place(x =150, y =5) 

    lblDWGTitle = Label(root, text = 'Title') 
    lblDWGTitle.place(x =525, y =5) 

    colStatus = Listbox(root, height = 12, width =6) 
    colStatus.place(x = 6, y = 32) 
    colStatus.insert(END, " IN") 

    colFacName = Listbox(root, height = 12, width =45) 
    colFacName.place(x = 56, y = 32) 
    colFacName.insert(END, " NW WASHINGTON") 

    colDWGTitle = Listbox(root, height = 12, width =72) 
    colDWGTitle.place(x = 340, y = 32) 
    colDWGTitle.insert(END, " CAPACITOR VOLTAGE") 
+0

您必須閱讀csv並將每列插入到列表框中。您可以編寫自己的函數,將行作爲元組,並將每個值添加到每個列表框 –

回答

1
import tkinter as tk # from tkinter import * is bad, don't do this! 

class RequestGUI(): 
    def __init__(self, root): 
     self.lblStatus = tk.Label(root, text = 'Status') 
     self.lblStatus.place(x =6, y =5) 

     self.lblFacName = tk.Label(root, text = 'Facility Name') 
     self.lblFacName.place(x =150, y =5) 

     self.lblDWGTitle = tk.Label(root, text = 'Title') 
     self.lblDWGTitle.place(x =525, y =5) 

     self.colStatus = tk.Listbox(root, height = 12, width =6) 
     self.colStatus.place(x = 6, y = 32) 

     self.colFacName = tk.Listbox(root, height = 12, width =45) 
     self.colFacName.place(x = 56, y = 32) 

     self.colDWGTitle = tk.Listbox(root, height = 12, width =72) 
     self.colDWGTitle.place(x = 340, y = 32) 

     self.add_row(tk.END, (" IN", " NW WASHINGTON", " CAPACITOR VOLTAGE")) 

    def add_row(self, index, rowdata): # will throw indexerror if not enough data is supplied 
     self.colStatus.insert(index, rowdata[0]) 
     self.colFacName.insert(index, rowdata[1]) 
     self.colDWGTitle.insert(index, rowdata[2]) 

if __name__ == '__main__': 
    win = tk.Tk() 
    gui = RequestGUI(win) 
    win.mainloop() 

所以現在你可以通過對rown數據,這將增加列表框的元組的功能。所以你可以簡單地在csv文件中的每一行上巡迴訪問,並使用行數據調用該函數。