Итак, я не могу запустить код внутри функции Display_File. Все, что он делает, - это кричать о плохих отступах, слишком много или недостаточно. Я перепробовал все возможные отступы, но ничего не работает. Я предполагаю, что не могу использовать оператор with внутри функции. Я использую этот код вне функции, и он работает fantasti c.
Просто пытаюсь открыть файл CSV, удалить часть мусора над заголовками и загрузить его в текстовое поле и, в конечном итоге, создать диаграмму с данными после того, как я смогу хотя бы правильно отобразить данные в GUI. Я попытался поместить код отображаемого файла в код открытого файла, но там ничего не получилось, поэтому решил, что ему нужна собственная функция. Меня не волнует, где он, пока эта чертова штука работает.
Еще нет какого-то кода, чтобы сделать то, о чем я упоминал. Мне просто нужно это, чтобы бегать, ни о чем не кричать, и я буду счастлив.
import pandas as pd
import tkinter as tk
from tkinter import filedialog, Text
from tkinter import messagebox
import os
#Create GUI Window
app = tk.Tk()
app.geometry('800x800')
app.title("TTF Data Files")
app.configure(bg='#263D42')
#Functions
def open_File():
global filename
filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("Data files","*.dat"),("all files","*.*")))
def display_file():
skipcnt = 0
with open(filename) as f: # auto closes after loop
for row in f:
skipcnt += 1
if "Tension" in row and "Elong" in row: # top of header
break;
skipcnt += 3 # skip headers
df = pd.read_csv(myfile, skiprows=skipcnt , delimiter='\t')
textArea = tk.Text(app, height=45, width=100, wrap=tk.WORD)
textArea.pack(expand=True)
#Buttons!
button = tk.Button(app, text = "Open File", command=open_File)
button.pack()
button = tk.Button(app, text = "Display File", command=display_file)
button.pack()
app.mainloop()