python读取第一行设为字典_将python中的一行解析为字典的最佳方法

下面的pyparsing格式副本可能要简单一些:from pyparsing import *

# define basic elements - use re's for numerics, faster than easier than

# composing from pyparsing objects

integer = Regex(r'[+-]?\d+')

real = Regex(r'[+-]?\d+\.\d*')

ident = Word(alphanums)

value = real | integer | quotedString.setParseAction(removeQuotes)

# define a key-value pair, and a configline as one or more of these

# wrap configline in a Dict so that results are accessible by given keys

kvpair = Group(ident + Suppress('=') + value)

configline = Dict(OneOrMore(kvpair))

src = 'account = "TEST1" Qty=100 price = 20.11 subject="some value" ' \

'values="3=this, 4=that"'

configitems = configline.parseString(src)

现在,您可以使用返回的configitems ParseResults对象访问您的条目:>>> print configitems.asList()

[['account', 'TEST1'], ['Qty', '100'], ['price', '20.11'],

['subject', 'some value'], ['values', '3=this, 4=that']]

>>> print configitems.asDict()

{'account': 'TEST1', 'Qty': '100', 'values': '3=this, 4=that',

'price': '20.11', 'subject': 'some value'}

>>> print configitems.dump()

[['account', 'TEST1'], ['Qty', '100'], ['price', '20.11'],

['subject', 'some value'], ['values', '3=this, 4=that']]

- Qty: 100

- account: TEST1

- price: 20.11

- subject: some value

- values: 3=this, 4=that

>>> print configitems.keys()

['account', 'subject', 'values', 'price', 'Qty']

>>> print configitems.subject

some value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值