কম্পিউটার

Tkinter এ Treeview উইজেটে কিভাবে একটি এক্সেল স্প্রেডশীট খুলবেন?


একটি এক্সেল স্প্রেডশীটে সারি এবং কলাম আকারে সংরক্ষিত তথ্যের একটি সেট থাকে। আমরা 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()

আউটপুট

যদি আমরা উপরের কোডটি চালাই, এটি একটি উইন্ডো প্রদর্শন করবে যেখানে একটি এক্সেল ফাইল খুলতে শীর্ষে একটি মেনু থাকবে৷

Tkinter এ Treeview উইজেটে কিভাবে একটি এক্সেল স্প্রেডশীট খুলবেন?

যখন আমরা ফাইলটি খুলি, এটি উইন্ডোতে স্প্রেডশীট ডেটা প্রদর্শন করবে৷

Tkinter এ Treeview উইজেটে কিভাবে একটি এক্সেল স্প্রেডশীট খুলবেন?


  1. Tkinter-এ কিভাবে একটি টেক্সট উইজেটে একটি স্ক্রলবার সংযুক্ত করবেন?

  2. কিভাবে Tkinter দিয়ে একটি সম্পূর্ণ Treeview সাফ করবেন?

  3. কিভাবে একটি Tkinter উইজেট অদৃশ্য করতে?

  4. Tkinter ব্যবহার করে কিভাবে বহিরাগত প্রোগ্রাম খুলবেন?