Reputation: 113
How would I import a CSV into a Listbox? I would like CSV data to go into the list boxes below, instead of text, is there a Python File command that would allow me to do this?
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")
Upvotes: 0
Views: 2136
Reputation: 5933
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()
so now you have a function you can pass a tuple of the data on that rown, which will add to the listboxes. so you can simple itterate over each row in the csv file and call that function with the row data
Upvotes: 1