如何解析此表格?

时间:2018-11-06 00:37:06

标签: python parsing

输入:

NAME: amiee AGE: 10 SHCOOL: elementary school

这是很长的表格,也许有十多个科目。 没有split ...,如何轻松解析这句话? 我想将此表格保存到字典中,例如。

{amiee:{AGE:10, SCHOOL: elementary school ... }}

1 个答案:

答案 0 :(得分:1)

您可以使用re.findall从输入字符串中提取键/值对列表,使用它来创建中间字典,然后从字典中弹出名称,并使用名称和中间字典中还剩下什么:

import re
form = 'NAME: amiee AGE: 10 SHCOOL: elementary school'
d = dict(re.findall(r'([A-Z]+): (.*?)(?=\s*[A-Z]+: |$)', form))
name = d.pop('NAME')
print({name: d})

这将输出:

{'amiee': {'AGE': '10', 'SHCOOL': 'elementary school'}}