tkinter Combobox: выберите элемент и загрузите связанное с ним целочисленное значение

#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.