【发布时间】:2021-11-04 20:56:54
【问题描述】:
我正在使用 python 和 csv lib 以及 Tkinter GUI
Column1 Column2
Test1 ID1
ID2
ID3
Test2 Act1
ACT2
ACT3
我想根据 Column1 测试编号显示 column2。
例如:SO Test1 被选中 ID1 , ID2, ID3 应该被显示并且在下一次迭代中当 Test2 被选中 Act1, Act2, Act3 被显示
我尝试了什么:
with open('Test.csv') as f:
listbox = tk.Listbox(self.root, width=162, height=200)
listbox.place(x=10, y=50)
reader = csv.DictReader(f, delimiter=',')
for row in reader:
adata1 = row['column1']
adata2 = row['column2']
if adata1 != adata1 or adata1 == "":
listbox.insert('end', adata2)
else:
continue
如果有人可以帮助我,请。
【问题讨论】:
-
首先修复代码的缩进。其次你的问题不清楚。如何选择
Test1或Test2?在Listbox?你期待的listbox最终的内容是什么?您当前的问题实际上是什么? -
adata1 = row['column1'] 这将选择 Test1 ,在 Listbox ID1 中应显示 ID2,ID3,在下一个 for Loop adata1 = Test2 Listbox 将显示 Act1, Act2, Act3
-
按照你的解释,
listbox的最终内容将是Act1、Act2和Act3,对吧?您将永远不会看到ID1、ID2和ID3,因为它们将被替换。 -
应该按照test1和test2替换
-
我有右键选择Test1和Test2。如果 Test1 将选择 ID1,ID2,ID3 将显示,当再次按下右箭头键将显示 Test2 和 Act1,Act2,Act3 将显示
标签: python csv tkinter listbox