使用Django将嵌套列表输出到xlsx

使用Django将嵌套列表输出到xlsx,django,nested-lists,openpyxl,Django,Nested Lists,Openpyxl,我有一个复杂的嵌套模型列表,如下所示: hierarchy_tree = ['0000', 'hierarchy' [['0000-22', 'hierarchy2', [['0000-33', 'hiearchy3', [['0000-44-4444', 'hiearchy4', [['0000-55-5555-55', 'hiearchy5', []]]]]]]]]] 我能够使用点符号轻松地在模板中显示这一点-示例: {% for hierarchy in hierarchy_tree

我有一个复杂的嵌套模型列表,如下所示:

hierarchy_tree =  ['0000', 'hierarchy' [['0000-22', 'hierarchy2', [['0000-33', 'hiearchy3', [['0000-44-4444', 'hiearchy4', [['0000-55-5555-55', 'hiearchy5', []]]]]]]]]]
我能够使用点符号轻松地在模板中显示这一点-示例:

{% for hierarchy in hierarchy_tree %}
            <tr class="item" data-id="{{system.0}}" data-parent="">
                <td>
                    {{hierarchy.0}}
                </td>
                <td>
                    {{hierarchy.1.genericname}}
                </td>
我也尝试过使用其他方法访问子列表,但多次失败

所以底线是我需要弄清楚如何访问和传递子列表的值-任何想法或帮助都将不胜感激

多谢各位

评论:。。。列表中只有一行

Python
print
一行中打印
list
类型的实例,用[…]包围
您的
层次结构\u树
的类型为n个列表的列表
层次结构树
中的每一个n
列表
都以[开始,以]结束


您必须将
层次结构树
分解为行数据。 例如:

def treeWalk(tree, level=0):
    rData = [ '' for i in range(level)]
    for item in tree:
        if isinstance(item, list):
            if len(rData) > level:
                ws.append(rData)
                level += 1

            treeWalk(item, level)
            return
        rData.append(item)

treeWalk(hierarchy_tree)  

使用Python:3.4.2-openpyxl:2.4.1-LibreOffice:4.3.3.2进行测试

感谢您的回复-这非常有用-学到了一些东西我正在尝试弄明白一些东西-我上面给出的示例仅是列表“hierarchy_tree=['0000'、'hierarchy'['0000-22'、'hierarchy2'”中的一行[['0000-33'、['0000-44-4444'、['0000-55-5555-55'、['0000-55-5555-55'、[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
def treeWalk(tree, level=0):
    rData = [ '' for i in range(level)]
    for item in tree:
        if isinstance(item, list):
            if len(rData) > level:
                ws.append(rData)
                level += 1

            treeWalk(item, level)
            return
        rData.append(item)

treeWalk(hierarchy_tree)