Python Tkinter CSV 文件查看器 - 无需新窗口显示数据
以下是一个简单的示例代码,实现了两个按钮,一个用于导入 CSV 文件,一个用于查看该文件内容:
import tkinter as tk
import csv
class CSVViewer(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.import_button = tk.Button(self, text='导入 CSV 文件', command=self.import_csv)
self.import_button.pack(side='left')
self.view_button = tk.Button(self, text='查看 CSV 文件', command=self.view_csv)
self.view_button.pack(side='left')
def import_csv(self):
file_path = tk.filedialog.askopenfilename(filetypes=[('CSV Files', '*.csv')])
if file_path:
self.csv_data = []
with open(file_path, 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
self.csv_data.append(row)
def view_csv(self):
if hasattr(self, 'csv_data'):
text_area = tk.Text(self)
text_area.pack()
for row in self.csv_data:
text_area.insert(tk.END, ','.join(row) + '\n')
root = tk.Tk()
app = CSVViewer(master=root)
app.mainloop()
这个示例代码中,我们创建了一个名为 CSVViewer 的类,继承自 tk.Frame,用于创建 GUI 界面。在 create_widgets 方法中,我们创建了两个按钮,一个用于导入 CSV 文件,一个用于查看该文件内容。在 import_csv 方法中,我们使用 tk.filedialog 打开文件选择对话框,让用户选择要导入的 CSV 文件,并读取 CSV 文件的内容。在 view_csv 方法中,我们在当前窗口中创建一个 Text 控件,将 CSV 文件的内容以 CSV 格式显示出来。
在主程序中,我们创建了一个 Tk 对象和一个 CSVViewer 对象,并调用 mainloop 方法开始运行 GUI 程序。
注意:
- 代码中已经修改了双引号为单引号。
view_csv方法不再创建新的窗口,而是直接在当前窗口中显示 CSV 数据。- 为了更方便地查看数据,可以使用
tk.Scrollbar来添加滚动条。
原文地址: https://www.cveoy.top/t/topic/n2tw 著作权归作者所有。请勿转载和采集!