Я хотел бы создать скрипт Pyton, который принимает файл Excel (предоставленный пользователем), запустить скрипт и сохранить этот файл Excel (с именем файла, предоставленным пользователем). Я хотел бы реализовать некоторые кнопки с использованием Tkinter, чтобы позволить непрограммистам легко использовать мой алгоритм.
Я пытался создать кнопки «загрузить данные» и «отобразить данные» (я взял кодв сети), которые оба работают.
Однако мне не удалось запустить скрипт в импортированной базе данных (поскольку я не знаю, как получить к ней доступ)
Мне не удалось создатькнопка, которая позволяет пользователю выбрать имя файла, в который он хочет сохранить его.
import tkinter as tk
from tkinter import ttk
from tkinter.filedialog import askopenfilename
from tkinter.filedialog import asksaveasfilename
from tkinter.messagebox import showerror
import pandas as pd
import csv
# --- classes ---
class MyWindow:
def __init__(self, parent):
self.parent = parent
self.filename = None
self.df = None
self.text = tk.Text(self.parent)
self.text.pack()
self.button = tk.Button(self.parent, text='LOAD DATA', command=self.load)
self.button.pack()
self.button = tk.Button(self.parent, text='DISPLAY DATA', command=self.display)
self.button.pack()
self.button = tk.Button(self.parent, text='DISPLAY DATA', command=self.display)
self.button.pack()
def load(self):
name = askopenfilename(filetypes=[('CSV', '*.csv',), ('Excel', ('*.xls', '*.xslm', '*.xlsx'))])
if name:
if name.endswith('.csv'):
self.df = pd.read_csv(name)
else:
self.df = pd.read_excel(name)
self.filename = name
display directly
self.text.insert('end', str(self.df.head()) + '\n')
def display(self):
# ask for file if not loaded yet
if self.df is None:
self.load_file()
# display if loaded
if self.df is not None:
self.text.insert('end', self.filename + '\n')
self.text.insert('end', str(self.df.head()) + '\n')
#def script_python(self):
# self.df=self.df.iloc[:, :-1]
#this is not my original script
#def file_save(self):
# savefile = asksaveasfilename(filetypes=(("Excel files", "*.xlsx"),
# ("All files", "*.*") ))
# --- main ---
if __name__ == '__main__':
root = tk.Tk()
top = MyWindow(root)
root.mainloop()
Мой скрипт на Python, который выполняет анализ файла Excel, работает, поэтому я просто написал очень простой скрипт на Python, чтобы сделать вашу жизнь проще.
Спасибо, я новичок в Tkinterи не привыкли к занятиям и словарям. спасибо за вашу помощь