python tkinter 将 csv 数据导入到 OptionMenu

我想用OptionMenu我之前从网址中抓取的数据填充一些 。


前任:


    with open('clubs.csv', newline ='') as club:

    reader=csv.reader(club)

    dummy_club = []

    dummy_club.extend(reader)

OptionMenu稍后我想在我的一个项目中使用它


前任:


sv_club = StringVar()    

d_club = OptionMenu(app,variable=sv_club,value=dummy_club)

不幸的是,大约 700 个项目的列表全部放在一行/一行中,就像我OptionMenu在这张屏幕截图上单击我的 d_club 时一样: 在此输入图像描述

http://img.mukewang.com/64c1ce6b0001d5f611230019.jpg

知道我需要如何让代码在每个项目之后都会有一个新行吗?


当我直接将抓取的数据作为列表导入到我的数据中时,OptionMenu它看起来很完美。但是,当我启动 GUI 时尝试导入 .csv 中保存的数据(因此当我调用app.mainloop())时,它就搞砸了。


侃侃尔雅
浏览 104回答 1
1回答

30秒到达战场

您需要使用扩展/解包/splat 运算符*。但是,由于数据是列表的列表(或元组的元组),因此您需要在执行此操作之前将内部列表转换为字符串,因为选项菜单需要字符串列表。它可能看起来像这样:dummy_club = [" ".join(row) for row in dummy_club] d_club = OptionMenu(app, sv_club, *dummy_club)不过,具有 700 个值的 OptionMenu 将非常难以使用。您可能应该考虑使用 ttk Combobox 小部件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python