惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
Martin Fowler
Martin Fowler
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
U
Unit 42
B
Blog RSS Feed
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
腾讯CDC
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
博客园 - 聂微东
MyScale Blog
MyScale Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta

博客园 - daivlin

layuimini模板的快速浏览方法 inux mint使用 迅雷电影天堂 2025-02-08[] GIS图模解析工具 常用工具下载链接 数据分析学习 用python从网页下载单词库 如何将手机微信公众号文章导出到办公电脑 U盘插上电脑上后自动备份文件 web.py 中的分页设计 pythonanywhere 部署 webpy linux mint 中文支持 django学习记录 用python脚本通过excel生成文件夹树结构 selenium + phantomjs 爬取落网音乐 centos 安装 python2.7 运行webpy 项目 跳过 centos部署 webpy的各种坑 unix&linux大学教程 目录
python 通过win32com操作vcf到outlook中,同时解决乱码问题
daivlin · 2020-05-24 · via 博客园 - daivlin

之前用的黑莓手机,故障后换了iphone,后来还是想用上黑莓Q10。于是有了该文章。
问题:
如何将iphone上的通讯录导入黑莓?

网上回答1:通过icloud将iphone中的通讯录导入黑莓手机。
结果:在黑莓Q10上登录icloud的服务器contacts.icloud.com时,报错。。。无果。

网上回答2:通过qq或者微信同步助手。
结果:在iphone上没装这些软件,而且要做Q10上安装响应的软件才能同步。。。无果。

网上回答3:将iphone上的通讯录存到sim卡中。
结果:sim卡容量不够,手机上的通讯录有498条,不能转到sim卡上。。。无果。

解决办法:将iphone上的通讯录导出到vcard中,再通过outlook存入黑莓Q10
step1:打开itools.exe,将通讯录导出VCARD

然而。打开看到是乱码,如下:

在网上查到可以用win32com操作outlook。。。于是,用python,并且通过转码,导入outlook。代码如下:

#conding:utf-8
# 使用python操作outlook中的通讯录
# 如果在循环列表外面,生成一张通讯录,那么在存入的时候,会不断覆盖。
# 所以需要在每一个循环列表中生成一张通讯卡
import os
import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application")
#newContact = outlook.CreateItem(2)  #只生成一张通讯卡

contactList = os.listdir("contacts")
for contact in contactList:
    print(contact)
    with open(os.path.join("contacts",contact),encoding="utf-8") as f:
        vcard = f.readlines()
        LastName = vcard[4].split(":")[1]
        MobileTelephoneNumber = vcard[5].split(":")[1]
        newContact = outlook.CreateItem(2)      #每次创建一张通讯卡
        
        newContact.FirstName = LastName
        newContact.MobileTelephoneNumber = MobileTelephoneNumber
        newContact.save()
        
print("done")

这样,在outlook中,全部显示正常了。也不乱码了。

再通过黑莓 blackberrylink ,将通讯录进行同步,就OK了!