hello my brother i guess your bug is on last line..
you've supposed to write "root.mainloop()" not only "mainloop()"


2020-12-04 5:48 GMT+02:00, Ajith John <[email protected]>:
> Sir,
>
> I created an application which reads a text file and displays results in
> GUI based on the values in text file. The code is working fine with spyder
> (Anaconda3). However when I create exe using pyinstaller, the exe is only
> showing a black screen without opening GUI. Code is given below.
>
> Can anyone help me on this.
>
> regards
>
> Ajith John
>
>
>
> import os
>
> import pandas as pd
>
> from tkinter import *
> # importing askopenfile function from class filedialog
> from tkinter.filedialog import askopenfile
>
> # Define variables to store values
> UCMAX = int
> UCMIN = int
> TOT_VOL = float
>
> #Function for deleting initial lines from original mms file and storing as
> dummy file
> def delete_multiple_lines(original_file,dummy_file, line_numbers):
>     """In a file, delete the lines at line number in given list"""
>     is_skipped = False
>     counter = 0
>     # Open original file in read only mode and dummy file in write mode
>     with open(original_file, 'r') as read_obj, open(dummy_file, 'w') as
> write_obj:
>         # Line by line copy data from original file to dummy file
>         for line in read_obj:
>             # If current line number exist in list then skip copying that
> line
>             if counter not in line_numbers:
>                 write_obj.write(line)
>             else:
>                 is_skipped = True
>             counter += 1
>
>
> def Evaluate_file():
>     file = askopenfile(filetypes =[('txt Files', '*.txt')])
>     if file:
>         # create a list
>         lines = []
>         # Store range of lines to be deleted
>         for i in range(0,71,1):
>             lines.append(i)
>
>         # Call delete line function with argument main text, dummy text
> files, initial rows to be deleted
>
>
> delete_multiple_lines(os.path.basename(file.name),'dummy.txt',lines)
>
>
>         #Read text file
>         data =
> pd.read_fwf('dummy.txt',col_index=0,delim_whitespace=True,skipinitialspace
> =True,skip_blank_lines=True)
>
>         #Delete invalid/unrequired rows
>         data = data.dropna()
>
>         #Delete second column which is not useful
>         data = data.drop([0, 1])
>
>         # Create Index column for better analysis
>         data = data.reset_index()
>
>         # Delete initial index column as the number is not continuous due
> to deletion of unwanted rows
>         data = data.drop(['index'], axis = 1)
>
>         # Create Column Header row
>         data.columns=["Status", "Values", "State", "CF", "G2M", "M2G",
> "OV", "UV", "Bypass_OWN", "BYPASS_PARTNER", "TEMP_ERR", "TEMP_HIGH1",
> "TEMP_HIGH2", "DRV_PWR", "UCE_SAT", "DCiUV", "DCiOV",
> "COMFLT_MI2GIB_COMFLT_GIB2MI", "COMFLTCntSUM_MI2GIB_COMFLTCntSUM_GIB2MI"]
>
>         # Split the Values column as so many fields are merged while
> reading and store in new dataframe
>         data1 = data["Values"].str.split(" ",expand=True,)
>
>         #Delete unwanted columns in new Data frame with split fields
>         data1 = data1.drop([0,3, 5,7,8,10,11,12,13,15,16,17,18],axis=1)
>
>         # Remove unwanted : in sub module number field
>         data1[1] = data1[1].str.replace(':','')
>
>
> data1.columns=["SM_NUMBER","HEX1","HEX2","Operational","Voltage","Present_status"]
>
>         # Delete the values column with so many fields & status column in
> original data frame which are not required
>         data = data.drop(['Values'],axis=1)
>         data = data.drop(['Status'],axis=1)
>
>         # Merge temporary dataframe with splitted fields of values and
> original dataframe
>         data = pd.concat([data1,data],axis=1)
>
>         #Query for modules in block status and strore in dataframe
>         data1=data.query(' Present_status == "HB_BLOCK" ')
>
>         # Remove V from Voltage field
>         data["Voltage"] = data["Voltage"].str.replace('V','')
>
>         # Convert Voltage field to number
>         data["Voltage"] = data["Voltage"].astype(int)
>
>         #Find UC Max
>         # print("UCMAX: ", data["Voltage"].max(), "Volts")
>         UCMAX=data.loc[data["Operational"]=="Operational",'Voltage'].max()
>
>         #Find UC Min
>         UCMIN=data.loc[data["Operational"]=="Operational",'Voltage'].min()
>
>         # Find total voltage in arm by adding voltages of capacitors whose
> SM status is ON
>
> TOT_VOL=data.loc[data["Present_status"]=="HB_ON",'Voltage'].sum()/1000
>
>
>         data2 = data1[['SM_NUMBER','Operational','Present_status']]
>         print ("\n Blocked submodules:\n", data2)
>
>         #Update text boxes
>         T1.delete("insert linestart", "insert lineend")
>         T1.insert(END, UCMAX)
>
>         T2.delete("insert linestart", "insert lineend")
>         T2.insert(END, UCMIN)
>
>         T3.delete("insert linestart", "insert lineend")
>         T3.insert(END, TOT_VOL)
>
>         T4.delete('1.0', END)
>         T4.insert(END, data2)
>
> root = Tk()
> root.geometry('600x600')
>
> var = StringVar()
> label = Label( root, textvariable=var, relief=RAISED )
>
> var.set("Details will be displayed below after opening file")
> label.pack(pady=20)
>
> btn = Button(root, text ='File Open ...', command = lambda:Evaluate_file())
>
> btn.pack(side = TOP, pady = 10)
>
> lbl1=Label(root, text='UCMAX in Volts').pack()
>
>
> T1 = Text(root, height=1, width=10)
> T1.pack(pady=10)
>
> lbl2=Label(root, text='UCMIN in Volts').pack()
>
>
> T2 = Text(root, height=1, width=10)
> T2.pack(pady=10)
>
>
> lbl3=Label(root, text='TOTAL ARM VOLTAGE in Kilo Volts').pack()
> #lbl3.pack(side = LEFT)
>
> T3 = Text(root, height=1, width=10)
> T3.pack(pady=10)
>
> lbl3=Label(root, text='Abnormalities').pack()
> #lbl3.pack(side = LEFT)
>
> T4 = Text(root, height=10, width=70)
> T4.pack(pady=10)
>
> mainloop()
>
> --
> You received this message because you are subscribed to the Google Groups
> "PyInstaller" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pyinstaller/da41c1e0-41ae-4fd3-8f73-47e1454a95den%40googlegroups.com.
>

-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyinstaller/CADcH5nem__-E9kwPg9XEx2_ogXDe1PwQ%3DrEN8fWFck3n8Q9N8A%40mail.gmail.com.

Reply via email to