একটি এক্সেল স্প্রেডশীটে সারি এবং কলাম আকারে সংরক্ষিত তথ্যের একটি সেট থাকে। আমরা Treeview ব্যবহার করে Tkinter অ্যাপ্লিকেশনে স্প্রেডশীট ডেটা প্রদর্শন ও ব্যবহার করতে পারি উইজেট Tkinter-এ ট্রিভিউ উইজেট ব্যবহারকারীদের একটি টেবিলের আকারে ডেটা যোগ করতে এবং ম্যানিপুলেট করতে সাহায্য করে। যাইহোক, ডেটার একটি বড় সেট বিশ্লেষণ এবং ম্যানিপুলেট করার জন্য, পাইথন পান্ডা প্রদান করে লাইব্রেরি যা অনেক ইনবিল্ট ফাংশন এবং ডেটা বিশ্লেষণ করার পদ্ধতিতে অ্যাক্সেস দেয়।
এই উদাহরণের জন্য, Tkinter,
-এ এক্সেল ডেটা প্রদর্শন করতে আমরা এই পদক্ষেপগুলি অনুসরণ করব-
প্রয়োজনীয় লাইব্রেরি আমদানি করুন যেমন Numpy, Pandas, এবং ফাইল ডায়ালগ .
-
ব্যবহারকারীকে এক্সপ্লোরার থেকে ফাইলটি খুলতে বলার জন্য একটি মেনু বার যোগ করুন।
-
কমান্ড যোগ করুন এবং একটি ফাংশন open_file() সংজ্ঞায়িত করুন যাতে এটি শুধুমাত্র .xlsx গ্রহণ করে এক্সপ্লোরার থেকে ফাইল।
-
একটি ট্রিভিউ তৈরি করুন৷ উইজেট।
-
ট্রিভিউ -এ কলাম যোগ করুন কলাম ডেটাকে একটি তালিকায় রূপান্তর করে উইজেট।
-
প্রদত্ত ডেটাতে সমস্ত শিরোনাম খুঁজে পেতে কলামের উপরে পুনরাবৃত্তি করুন।
-
প্রদত্ত ডেটা ফ্রেমটিকে NumPy অবজেক্টে রূপান্তর করে সারিগুলি চিহ্নিত করা যেতে পারে। একবার আমরা রূপান্তরিত হয়ে গেলে আমরা তালিকা পদ্ধতিটি ব্যবহার করে এটিকে একটি তালিকায় রূপান্তর করতে পারি।
-
সমস্ত সারির উপর পুনরাবৃত্তি করুন এবং সারিগুলিকে ক্রমানুসারে গাছে ঢোকান৷
উদাহরণ
# Import the required libraries from tkinter import * from tkinter import ttk, filedialog import numpy import pandas as pd # Create an instance of tkinter frame win = Tk() # Set the size of the tkinter window win.geometry("700x350") # Create an object of Style widget style = ttk.Style() style.theme_use('clam') # Create a Frame frame = Frame(win) frame.pack(pady=20) # Define a function for opening the file def open_file(): filename = filedialog.askopenfilename(title="Open a File", filetype=(("xlxs files", ".*xlsx"), ("All Files", "*."))) if filename: try: filename = r"{}".format(filename) df = pd.read_excel(filename) except ValueError: label.config(text="File could not be opened") except FileNotFoundError: label.config(text="File Not Found") # Clear all the previous data in tree clear_treeview() # Add new data in Treeview widget tree["column"] = list(df.columns) tree["show"] = "headings" # For Headings iterate over the columns for col in tree["column"]: tree.heading(col, text=col) # Put Data in Rows df_rows = df.to_numpy().tolist() for row in df_rows: tree.insert("", "end", values=row) tree.pack() # Clear the Treeview Widget def clear_treeview(): tree.delete(*tree.get_children()) # Create a Treeview widget tree = ttk.Treeview(frame) # Add a Menu m = Menu(win) win.config(menu=m) # Add Menu Dropdown file_menu = Menu(m, tearoff=False) m.add_cascade(label="Menu", menu=file_menu) file_menu.add_command(label="Open Spreadsheet", command=open_file) # Add a Label widget to display the file content label = Label(win, text='') label.pack(pady=20) win.mainloop()
আউটপুট
যদি আমরা উপরের কোডটি চালাই, এটি একটি উইন্ডো প্রদর্শন করবে যেখানে একটি এক্সেল ফাইল খুলতে শীর্ষে একটি মেনু থাকবে৷
যখন আমরা ফাইলটি খুলি, এটি উইন্ডোতে স্প্রেডশীট ডেটা প্রদর্শন করবে৷