【问题标题】:How do I parse a VCard to a Python dictionary?如何将 VCard 解析为 Python 字典?
【发布时间】: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会得到同样的结果吗?

标签: python vcf-vcard


【解决方案1】:

您不想查看行为,您想查看vobj 本身。行为是一种数据结构,描述需要/期望哪些子项,以及如何将这些子项转换为适当的 Python 数据结构。

vobj 对象是一个 vobject 组件。它的内容属性是 vobject ContentLines 和可能的组件的字典,所以

vobject.contents

会给你一个对象字典。

如果您想要更易于阅读的分析内容视图,请执行以下操作:

vobj.prettyPrint()

要访问单个孩子,例如:

vobj.adr

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 2018-07-15
  • 2014-10-07
  • 2011-03-26
相关资源
最近更新 更多