#python #csv #tkinter #combobox
#python #csv #tkinter #выпадающий список
Вопрос:
Я пытаюсь создать выпадающий список, который возвращает целочисленное значение при выборе элемента. Например, при выборе элемента из выпадающего списка возвращается цена элемента.
В идеале я хотел бы, чтобы входные данные в Combobox загружались из одного csv-файла, чтобы можно было легко обновлять товары и цены.
Приведенный ниже код заполняет выпадающий список элементами из csv-файла и возвращает выбранный элемент. Но я не знаю, как добавить новый столбец в файл для целых значений (например, цены), связанных с каждым элементом, или вернуть это целочисленное значение при выборе элемента.
Код:
import tkinter
from tkinter import ttk
from tkinter import *
def ShowPrice():
choice = Combobox1.get()
print(choice)
Box1 = []
with open('File1.csv') as inFile:
Box1 = [line for line in inFile]
root = tkinter.Tk()
Label1 = tkinter.Label(root, text='Choose item')
Label1.grid()
Combobox1 = ttk.Combobox(root, state='readonly')
Combobox1['values'] = tuple(Box1)
Combobox1.grid()
Button1 = tkinter.Button(root, text='OK', command=ShowPrice)
Button1.grid()
root.mainloop()
Содержимое File1.csv
:
Option1
Option2
Option3
Большое спасибо
Комментарии:
1. Используйте
dict
для создания пар ключ-значение при загрузке CSV.