首页 > 解决方案 > 如何将单独行中的 CSV 文件值获取到组合框 tkinter | Python

问题描述

我想在不同的行中分别查看组合框中的选项。我尝试了以下方法,但这样做会在单行中提供所有选项,而不是单独提供。一旦它们在不同的行中,我想打印所选的行。

    import csv
    from tkinter import *
    from tkinter import ttk
    import tkinter as tk
    app = tk.Tk()

    with open('apple.csv') as csv_file:
    csv_reader = csv.reader(csv_file)
    data = list(csv_reader)     

    e1 = ttk.Combobox(app,values=[data])
    e1.grid(row=0, column=1)

    message_text = StringVar()
    message_text = Label(app, text='Fruit name', pady=5)
    message_text.grid(row=0,column=0)

    #size
    app.title('Fruits')
    app.geometry("700x500")

    app.mainloop()

标签: pythontkinter

解决方案


第 11 行:values=[data]您正在将数据(列表)转换为另一个列表,因此如果数据是['apple', 'orange']您最终会得到[['apple','orange']]

要修复,只需卸下括号e1 = ttk.Combobox(app,values=data)


推荐阅读