【问题标题】:tkinter - add data from nested list with dictionary to treeviewtkinter - 将数据从带有字典的嵌套列表添加到树视图
【发布时间】:2023-03-22 11:59:01
【问题描述】:

我正在尝试将一些数据放入我的树视图中,并且我是树视图的新手,并且如果尝试阅读文档,我会完全理解它,但会更加困惑。

我创建了一个包含 2 个子列表和最后一些字典的嵌套列表。

isolering = [
[
{"name": "mineraluld"},
{"dim": "0,195"},
{"lambda": "0,37"},
{"z": "250"},
{"fire": "NA"}
],
[
{"name": "mineraluld2"},
{"dim": "0,195"},
{"lambda": "0,37"},
{"z": "250"},
{"fire": "NA"}
]]

materialLibrary = [isolering]

现在我想不出将数据放入树视图的正确方法。

这就是我得到的。 我不知道如何调用我的数据。我尝试它,就像你会用它的索引来称呼它一样。但我明白这是错误的。

tree.insert("" , 0, text="Name")
tree.insert("", 1, "dirIso", text="Isolering")
tree.insert("dirIso", 1, text=materialLibrary[0][1][0]["name"],values=(materialLibrary[0][1][0]["dim"],
                                                                     materialLibrary[0][1][0]["lambda"],
                                                                     materialLibrary[0][1][0]["z"],
                                                                     materialLibrary[0][1][0]["fire"]))

我这里有一张我想要完成的帽子的照片。

我收到的错误信息是这样的:KeyError: 'dim'

感谢任何帮助或指出正确的方向。

谢谢

【问题讨论】:

    标签: python tkinter treeview


    【解决方案1】:

    问题:将数据从带有字典的嵌套列表添加到树视图

    # Set 'text' to the first column heading
    tree.heading('#0', text='Name')
    
    # Insert Tree Heading as Item 'dirIso'
    # Set 'text' to "Isolering"
    tree.insert("", 1, "dirIso", text="Isolering")
    
    # Loop first list
    for n, dirIso in enumerate(isolering,1):
        # Make a list of values from the list of Dictionaries
        list_of_column_values = 
            [list(_dict.values())[0] for _dict in dirIso]
    
        # Insert the list of values
        # First value goes to Treeview 'text'
        # All other values into the following Columns
        tree.insert('dirIso', n, text=list_of_column_values[0], 
                                 values=list_of_column_values[1:])
    

    用 Python 测试:3.5

    【讨论】:

      猜你喜欢
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      相关资源
      最近更新 更多