您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中将以分号分隔的字符串拆分为字典

在Python中将以分号分隔的字符串拆分为字典

没有内置功能,但是您可以通过生成器理解相当简单地完成此操作:

s= "Name1=Value1;Name2=Value2;Name3=Value3"
dict(item.split("=") for item in s.split(";"))

在更新中,您指示您可能需要处理报价。这确实使事情复杂化,具体取决于您要寻找的确切格式是什么(接受什么报价字符,什么是转义字符等)。您可能需要查看csv模块,以查看它是否可以覆盖您的格式。这是一个示例:(请注意,此示例的API有点笨拙,因为CSV旨在迭代一系列记录,因此,我正在调用.next()来仅查看第一行。满足您的需求):

>>> s = "Name1='Value=2';Name2=Value2;Name3=Value3"

>>> dict(csv.reader([item], delimiter='=', quotechar="'").next() 
         for item in csv.reader([s], delimiter=';', quotechar="'").next())

{'Name2': 'Value2', 'Name3': 'Value3', 'Name1': 'Value1=2'}

但是,根据格式的确切结构,您可能需要编写自己的简单解析器。

python 2022/1/1 18:29:28 有584人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶