So I'm currently doing a project that is a random generator that reads on an excel file and select a data randomly but as I develop my code I get the following error:
line 19, in RandomG
L2 = Label(r2, text=edata).grid(row=3, column=1).grid(rowspawn=3, sticky=S)
NameError: name 'edata' is not defined
I have been told once to use "global" so the variables applies to all functions but it still gives me the error.
Here is my code:
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfilename
import xlrd
import random
import os
creds = 'Python file.txt' # This just sets the variable creds to 'tempfile.temp'
def RandomG():
global r2
r.destroy()
rootA.destroy()
r2 = Tk()
r2.title('Random Generator')
r2.geometry('350x300')
r2.resizable(False, False)
L1 = Label(r2, text='Welcome to My Random Generator!!').grid(row=1, column=1)
L2 = Label(r2, text= edata).grid(row=3, column=1).grid(rowspawn=3, sticky=S)
L2.config(width=200)
B1 = Button(r2, text="Browse", command=Directory)
B1.grid(rowspan=3, sticky=S)
B2 = Button(r2, text="Randomize", command=Generator)
B2.grid(rowspan=3, sticky=S)
r2.mainloop
def Directory():
global filename
filename = askopenfilename(filetypes=(("Excel Files", ".xlsx"),("All files","*.*")))
pathlabel = Label(r2)
pathlabel.config(text=(filename))
pathlabel.grid(columnspan=2)
pathlabel.pack()
def Generator():
global edata
global sheet
global workbook
with open(filename)as a:
filelocation = (filename)
workbook = xlrd.open_workbook(filelocation)
sheet = workbook.sheet_by_index(0)
for col in range(sheet.nrows):
edata = print[sheet.pop(sheet.random.cell.value(0, col))]