如何将 VCard 解析为 Python 字典?
Posted
技术标签:
【中文标题】如何将 VCard 解析为 Python 字典?【英文标题】:How do I parse a VCard to a Python dictionary? 【发布时间】:2011-01-29 11:59:06 【问题描述】:我正在尝试弄清楚如何使用 VObject 将 VCard 解析为 Python 字典。
vobj=vobject.readOne(string)
print vobj.behavior.knownChildren
这就是我得到的全部:
'CATEGORIES': (0, None, None), 'ADR': (0, None, None), 'UID': (0, None, None), 'PHOTO': (0, None, None), 'LABEL': (0, None, None), 'VERSION': (1, 1, None), 'FN': (1, 1, None), 'ORG': (0, None, None), 'N': (1, 1, None), 'PRODID': (0, 1, None)
如何使用我的 VCard 数据填充字典?
【问题讨论】:
你传递的字符串是什么样的? 如果通过vobject.tests.vcardtest
会得到同样的结果吗?
【参考方案1】:
您不想查看行为,您想查看vobj
本身。行为是一种数据结构,描述需要/期望哪些子项,以及如何将这些子项转换为适当的 Python 数据结构。
vobj
对象是一个 vobject 组件。它的内容属性是 vobject ContentLines 和可能的组件的字典,所以
vobject.contents
会给你一个对象字典。
如果您想要更易于阅读的分析内容视图,请执行以下操作:
vobj.prettyPrint()
要访问单个孩子,例如:
vobj.adr
【讨论】:
似乎必须有人把它捡起来并维护它:eventable.github.io/vobject以上是关于如何将 VCard 解析为 Python 字典?的主要内容,如果未能解决你的问题,请参考以下文章