import pandas as pd
import csv
from tkinter import *
master = Tk()
textBox = Text(master, height=1, width=10)
textBox.grid(row=0, column=1)
fileVar = StringVar()
fileLabel = Label(master, textvariable=fileVar)
fileLabel.grid(row=3, column=1)
fileVar2 = StringVar()
fileLabel2 = Label(master, textvariable=fileVar)
fileLabel2.grid(row=3, column=2)
def retrieve_input():
Customer = textBox.get("1.0","end-1c")
fileread = pd.read_csv('50.csv', encoding='latin-1')
filevalue = fileread.loc[fileread['Customer'].str.contains(Customer, na=False),"Jul-18\nQty"]
productheader = fileread.loc[fileread['Customer'].str.contains(Customer, na=False), 'Product']
fileVar.set(productheader)
fileVar2.set(filevalue)
button1 = Button(master,text="Show Values", command=lambda: retrieve_input())
button1.grid(row=4, column=1)
mainloop()
У меня есть эта программа, которая печатает значения в Tkinter Gui, для определенных значений в определенной строке. Однако формат печатаемых значений является спокойным, и я не уверен, как его очистить. Кроме того, я хотел бы, чтобы он не отображал числа, помеченные рядом с ним. Просто имя продукта (размытое синим цветом) и связанное с ним значение (это числовые значения с десятичными знаками).
Вот снимок графического интерфейса:
Кроме того, в самом конце списка это также отображается:
В идеале я хотел бы, чтобы он отображал только заголовок (июль-18), а не тип данных
Также, если это помогает знать, это файлы прогноза (причина для заголовков с датами)
Вот фиктивный образ того, как выглядят мои файлы csv:
Хорошо, поэтому после некоторого тестирования я думаю, что нашел исправление, которое должно сработать для вас.
Основная проблема с интервалом внутри вашего ярлыка - проблема с тем, что ваш шрифт не является тем, который считается моношириной.
Попробуйте использовать шрифт Consolas
и посмотрите, насколько хорошо это исправляет ваш макет.
import pandas as pd
from tkinter import *
master = Tk()
textBox = Text(master, height=1, width=10, font=('Consolas', 12))
textBox.grid(row=0, column=1)
fileVar = StringVar()
fileLabel = Label(master, textvariable=fileVar, font=('Consolas', 12))
fileLabel.grid(row=3, column=1)
def retrieve_input():
department = textBox.get("1.0","end-1c")
fileread = pd.read_csv('50.csv', encoding='latin-1')
filevalue = fileread.loc[fileread['Customer'].str.contains(department, na=False),("Jul-18\nQty", "Product")]
fileVar.set(filevalue)
button1 = Button(master,text="Show Values", command=lambda: retrieve_input())
button1.grid(row=4, column=1)
master.mainloop()
master
но вы никогда не объявляете, что такоеmaster
. Я предполагаю, что это экземплярTk()
? Также изменитеcommand=lambda: retrieve_input()
наcommand=retrieve_input
. Вам не нужна лямбда.