python - 我怎样才能解析这个表格?
问题描述
输入:
NAME: amiee AGE: 10 SHCOOL: elementary school
这真的很长,可能有10多个科目。如果没有...,我如何轻松解析这句话split
?我想将此表格保存到字典中,例如。
{amiee:{AGE:10, SCHOOL: elementary school ... }}
解决方案
您可以使用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'}}
推荐阅读
- django - AttributeError:'str'对象没有属性'state_forwards'与django迁移migrations.RunSQL(
- java - JPA/Hibernate 使用参数的默认值调用 SQL Server 存储过程
- python - 有没有办法在没有引用字段的 csv 文件上使用 Python 的 csv.reader() ?
- sql - 由于查询限制而丢失信息
- sql - 数据对比查询,如何优化?
- node.js - 如果 Firestore 在指定路径的更新失败,firebase 会向我们收取写入或读取费用吗?
- javascript - 获取数据并推送到数组
- pdf - 由inkscape创建的PDF包含通过虚线的细灰线
- python - 如何简化具有两个不等式的表达式:如果 x <= y 和 x >= n
- python - 数据框和循环