你好人,管理與美麗的湯颳得到一些數據... 後,我想這樣我可以很容易地將其導出爲CSV和JSON格式的數據。選項卡格式化字符串嵌套到嵌套列表〜Python的
我問題這裏是一個如何翻譯這個:
Heading :
Subheading :
AnotherHeading :
AnotherSubheading :
Somedata
Heading :
Subheading :
AnotherHeading :
AnotherSubheading :
Somedata
進入這個:
[
['Heading',['Subheading']],
['AnotherHeading',['AnotherSubheading',['Somedata']]],
['Heading',['Subheading']],
['AnotherHeading',['AnotherSubheading',['Somedata']]]
]
齒痕爲清楚起見
任何RESC如果您有任何疑問,請致電謝謝!
因此,與幫助到目前爲止,我們得到:
def parse(data):
stack = [[]]
levels = [0]
current = stack[0]
for line in data.splitlines():
indent = len(line)-len(line.lstrip())
if indent > levels[-1]:
levels.append(indent)
stack.append([])
current.append(stack[-1])
current = stack[-1]
elif indent < levels[-1]:
stack.pop()
current = stack[-1]
levels.pop()
current.append(line.strip().rstrip(':'))
return stack
與代碼的問題是,它返回......
[
'Heading ',
['Subheading '],
'AnotherHeading ',
['AnotherSubheading ', ['Somedata'], 'Heading ', 'Subheading '], 'AnotherHeading ',
['AnotherSubheading ', ['Somedata']]
]
這裏是一個REPL: https://repl.it/yvM/1
他們是否縮進用空格或製表符? ('\ t')它們是否始終只是其中的一個? – SuperBiasedMan
我添加了一個repl! https://repl.it/yvM/1 –
嵌套有多深?超越3級? – SuperBiasedMan