class create_df: def __init__(self, root): self.root = root self.f = Frame(self.root, height=350, width=500) self.f.pack() # Place the frame on root window # Creating label widgets self.message_label = Label(self.f,text='Displaying the DataFrame',font=('Arial', 14, 'underline'),fg='Red') # Buttons self.confirm_button = Button(self.f,text='Display', font=('Arial', 14), bg='Orange', fg='Black', command=self.conv_to_csv) self.exit_button = Button(self.f,text='Back', font=('Arial', 14), bg='Yellow', fg='Black', command=self.exit) # Placing the widgets using grid manager self.message_label.grid(row=1, column=0) self.confirm_button.grid(row=2,column=0,padx=10, pady=5) self.exit_button.grid(row=3,column=0,padx=10, pady=5) def conv_to_csv(self): try: # Now display the CSV in 'tkintertable' widget self.f2 = Frame(self.root, height=200, width=300) self.f2.pack(fill=BOTH,expand=1) self.file_name = transferFile.file_import() self.df = pd.read_csv(self.file_name) self.df = self.df[['expyr','salary']] self.df = pd.DataFrame(self.df) self.table = Table(self.f2, dataframe=self.df) self.table.show() except FileNotFoundError as e: msg.showerror('Error in opening file', e.msg) def exit(self): self.f.destroy() self.f2.destroy() self.table.destroy()
class csv_to_excel_class: def __init__(self, root): self.root = root self.file_name = '' self.f = Frame(self.root, height=200, width=300) self.f.pack() # Place the frame on root window # Creating label widgets self.message_label = Label(self.f, text='Conversion of CSV to Excel file', font=('Arial', 14, 'underline'), fg='Red') # Buttons self.convert_button = Button(self.f, text='Convert', font=('Arial', 14), bg='Orange', fg='Black', command=self.conv_to_xls) self.display_button = Button(self.f, text='Display', font=('Arial', 14), bg='Green', fg='Black', command=self.display_xls_file) self.exit_button = Button(self.f, text='Back', font=('Arial', 14), bg='Red', fg='Black', command=self.exit) # Placing the widgets using grid manager self.message_label.grid(row=1, column=1) self.convert_button.grid(row=2, column=0, padx=0, pady=15) self.display_button.grid(row=2, column=1, padx=10, pady=15) self.exit_button.grid(row=2, column=2, padx=10, pady=15) def conv_to_xls(self): try: self.f.fileName = self.file_name = filedialog.askopenfilename( initialdir='/Desktop', title='Select a file', filetypes=(('csv file', '*.csv'), ('csv file', '*.csv'))) empsal_df = pd.read_csv(self.file_name) empsal_df = empsal_df.set_index('empno') # Next - Pandas DF to Excel file on disk if (len(empsal_df) == 0): msg.showinfo('No Rows Selected', 'CSV has no rows') else: with pd.ExcelWriter( 'Dataset/empsal.xls' ) as writer: # saves in the current directory empsal_df.to_excel(writer, 'EmpsalSheet') writer.save() msg.showinfo('Excel file ceated', 'Excel File created') except FileNotFoundError as e: msg.showerror('Error in opening file', e) def display_xls_file(self): try: empsal_df = pd.read_excel("Dataset/empsal.xls") if (len(empsal_df) == 0): msg.showinfo('No records', 'No records') else: pass # To print in IDLE shell #Now display the DF in 'Table' object under'pandastable' module self.f2 = Frame(self.root, height=200, width=300) self.f2.pack(fill=BOTH, expand=1) self.table = Table(self.f2, dataframe=empsal_df, read_only=True) self.table.show() except FileNotFoundError as e: print(e) msg.showerror('Error in opening file', e) def exit(self): self.f.destroy() self.f2.destroy() self.table.destroy()