एक्सेल स्प्रेडशीट में पंक्तियों और स्तंभों के रूप में संग्रहीत जानकारी का एक सेट होता है। हम ट्रीव्यू . का उपयोग करके Tkinter एप्लिकेशन में स्प्रेडशीट डेटा प्रदर्शित और उपयोग कर सकते हैं विजेट। टिंकर में ट्रीव्यू विजेट उपयोगकर्ताओं को तालिका के रूप में डेटा जोड़ने और हेरफेर करने में मदद करता है। हालांकि, डेटा के एक बड़े सेट का विश्लेषण और हेरफेर करने के लिए, पायथन पंडों . प्रदान करता है पुस्तकालय जो डेटा विश्लेषण करने के लिए कई अंतर्निहित कार्यों और विधियों तक पहुंच प्रदान करता है।
इस उदाहरण के लिए, हम एक्सेल डेटा को टिंकर में प्रदर्शित करने के लिए इन चरणों का पालन करेंगे,
-
Numpy, Pandas, . जैसी आवश्यक लाइब्रेरी आयात करें और फ़ाइलसंवाद ।
-
उपयोगकर्ता को एक्सप्लोरर से फ़ाइल खोलने के लिए कहने के लिए एक मेनू बार जोड़ें।
-
कमांड जोड़ें और एक फ़ंक्शन परिभाषित करें open_file() ऐसा कि यह केवल .xlsx . स्वीकार करता है एक्सप्लोरर से फ़ाइलें।
-
एक ट्रीव्यू Create बनाएं विजेट।
-
ट्रीव्यू . में कॉलम जोड़ें कॉलम डेटा को सूची में परिवर्तित करके विजेट।
-
दिए गए डेटा में सभी शीर्षक खोजने के लिए कॉलम पर पुनरावृति करें।
-
दिए गए डेटा फ्रेम को 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()
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं, तो यह एक विंडो प्रदर्शित करेगा जिसमें एक्सेल फ़ाइल खोलने के लिए शीर्ष पर एक मेनू होगा।
जब हम फ़ाइल खोलते हैं, तो यह विंडो में स्प्रेडशीट डेटा प्रदर्शित करेगी।