Python 将具有任意维数的表格数据转换为多维列表
我已经为此挣扎了一段时间,希望有人能帮助我。我很接近,但当我有三代人在其中时,它不会像列表中那样创建一个额外的列表。我需要尽可能地减少代码量,因此在最终产品中尽量避免使用第三方模块。显然,现在我使用预打印只是为了在打印时更容易检查 资料 我的代码 数据输出中的行的Python 将具有任意维数的表格数据转换为多维列表,python,multidimensional-array,Python,Multidimensional Array,我已经为此挣扎了一段时间,希望有人能帮助我。我很接近,但当我有三代人在其中时,它不会像列表中那样创建一个额外的列表。我需要尽可能地减少代码量,因此在最终产品中尽量避免使用第三方模块。显然,现在我使用预打印只是为了在打印时更容易检查 资料 我的代码 数据输出中的行的: clean_line=line.lstrip().replace(“,”).replace(“,”).replace(“,”) 当前缩进=(长度(直线)-长度(直线))/4 尝试: 上一个缩进=(len(数据输出[line\u in
:
clean_line=line.lstrip().replace(“,”).replace(“,”).replace(“,”)
当前缩进=(长度(直线)-长度(直线))/4
尝试:
上一个缩进=(len(数据输出[line\u incrementer-1])-len(数据输出[line\u incrementer-1].lstrip())/4
下一个缩进=(len(数据输出[line\u incrementer+1])-len(数据输出[line\u incrementer+1].lstrip())/4
#调试
#打印(“上一次[“+str(行增量)+”]“+str(行增量)+”]-下一次[“+str(行增量)+”]“+str(行增量)+”+”-行[“+str(行增量)+”]“+str(行增量))
除:
上一个缩进=无
下一个缩进=无
如果当前缩进=0:
父项列表=[clean\u line]
数据\u转储.追加(父\u列表)
如果当前缩进>0且当前缩进!=缩进级别:
活动\u列表=[清除\u行]
父\u列表。附加(活动\u列表)
如果当前缩进>0且当前缩进==缩进级别:
活动\u列表。追加(清除\u行)
父列表=活动列表
缩进水平=当前缩进
行增量器+=1
pprint.pprint(数据转储)```
预期产量
嗨,你能添加一个预期输出的示例吗?嗨@DanielMesejo,谢谢你的回复。我已经添加了预期输出。嗨,你能添加一个预期输出的示例吗?嗨@DanielMesejo,谢谢你的回复。我已经添加了预期输出。
Root
Child 1
Child 2
Grandchild 1
Grandchild 2
Grandchild's Child 1
Grandchild's Child 2
Child 3
Child 4
3 Indents in Child 1
3 Indents in Child 2
Root2
Child 1
Grandchild 1
Grandchild's Child 1
Grandchild's Child 2
Child 2
Grandchild 2
[
['Root',
[
'Child 1',
'Child 2',
[
'Grandchild 1',
'Grandchild 2'
],
'Child 3',
'Child 4',
[
'3 Indents in Child 1',
'3 Indents in Child 2'
]
]
],
['Root2',
[
'Child 1',
[
'Grandchild 1',
[
'Grandchilds Child 1',
'Grandchilds Child 2'
]
],
'Child 2',
[
'Grandchild'
]
]
]
]