我有这个。
scrollbar = tk.Scrollbar(listbox)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = tk.Listbox(root)
listbox.insert(1,'a')
listbox.pack()
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
with open('testCUR.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
print(', '.join(row),'\n')
我想知道如何使用.csv文件中的值正确填充列表框?
还有为什么我不能正确使用滚动条?
填充列表框后,我想将选择中最后一个单元格的值放入变量中,以便在URL字符串中使用。我还没有找到任何教程,所以在这里寻求帮助。
我试过这个。
listbox = tk.Listbox(root, height=1)
listbox.place(x=300,y=75)
with open('testCUR.csv', 'r') as f:
reader = csv.reader(f)
your_list = list(reader)
for item in your_list:
listbox.insert(end, item)
或者只输入第一个条目
with open('testCUR.csv', 'r') as f:
reader = csv.reader(f)
your_list = list(reader)
for item in your_list:
listbox.insert(1, item)
一旦我在列表框中显示了所有值,并且它是可滚动的,如果它只是该死的我会喜欢它。
listbox = tk.Listbox(root, height=1, scroll=auto)
我需要能够仅使用货币代码作为.csv文件中的最后一个值,并将其用作选定值,然后将其用于url的变量中。 .csv文件看起来像这样。
Algeria د.ج DZD
Andorra € EUR
Angola Kz AOA
Anguilla $ XCD
Antigua and Barbuda $ XCD
Argentina $ ARS
Armenia AMD
Aruba ƒ AWG
Ascension Island £ (*none*)
我也在尝试大熊猫,但我是新手,因为它看起来更容易使用。
csv_file = ('testCUR.csv')
df = pd.read_csv(csv_file)
saved_col = df['CODE']
for item in df:
listbox.insert(end, saved_col)
始终错误。 NameError:未定义名称“end”。 发生在END也
答案 0 :(得分:2)
我想知道如何使用.csv文件中的值正确填充列表框?
要将文本插入列表框,您必须为其指定一个索引以告知其插入位置。索引是一个数字或字符串"end"
的字符串。在您的情况下,您使用了名为end
的变量,该变量当然不存在。
您可以插入如下文字:
listbox.insert("end", item)
还有为什么我不能正确使用滚动条?
您还没有描述滚动条不正确的原因。
滚动条的工作原理需要双向对话。必须告知滚动条要滚动的窗口小部件(通过command
属性,窗口小部件需要知道滚动时要更新的滚动条(通过yscrollcommand
或xscrollcommand
属性)。
明确设置滚动条是水平还是垂直也很好,但在您的情况下它是垂直的,这是默认值。
最后,通常最好的做法是使滚动条和小部件滚动到同一个父级。您错误地将滚动条设为列表框的子项。相反,让它成为列表框是孩子的孩子。在创建列表框之前,您还错误地尝试将其设为列表框的父级。小部件必须存在才能为其提供子级。
以下是创建列表框和滚动条的方法:
listbox = tk.Listbox(root)
scrollbar = tk.Scrollbar(root, orient="vertical", command=listbox.yview)
listbox.configure(yscrollcommand=scrollbar.set)