Python 按制表符分隔的行读取文件,然后插入到 tkinter 树视图中

Python read file by line separate by tab then insert into tkinter treeview

我正在尝试在 tkinter 中创建一个树视图,其中填充了来自 txt 文件的数据。这个文件有几行,每行都有一个文章标题,一个选项卡,然后是一个与标题匹配的文章编号。我正在尝试读取文件中的所有行并按制表符拆分,以便我可以将标题和文章编号插入到使用 Tkinter 制作的树视图中它们各自的列中。树视图只有标题和文章编号两列。显然,即使树视图被过滤或重新排列,我也需要标题和编号在树视图中匹配。我该怎么做?

我认为这样的事情至少会给我两个具有正确值的列表:

filename = "ArtIDs.txt"
with open(filename, "r") as readfile:    
   types = (line.split("\t") for line in readfile)
   xys = ((type[1], type[2]) for type in types)
   for x, y in xys:
      print(x,y)

但我一直收到 "list index out of range" 错误。

应该从0开始

尝试:

filename = "ArtIDs.txt"  
with open(filename, "r") as readfile:      
    types = (line.split("\t") for line in readfile)  
    xys = ((type[0], type[1]) for type in types)  
    for x, y in xys:  
        print(x,y)

请试试这个,可能会有帮助:

main = tk.Tk()
frame = tk.Frame(main)
frame.grid()
tree = ttk.Treeview(main, columns=('1', '2'))
tree.grid(column=0, sticky='N' + 'S' + 'E' + 'W')
n = 1
with open(filename, "r") as readfile:
    types = (line.split("\t") for line in readfile)
    xys = ((type[0], type[1]) for type in types)
    for x, y in xys:
       tree.insert("", n, values=(x, y))
       n+=1

main.mainloop()