1
hpyhacking 2012-12-19 10:49:02 +08:00
我使用的是Mac系统自带Contacts导出的,格式会略有差异,逻辑很简单,全部文本原样输出,只是在FN后面检查一下有没有拼音的两个字段,如果有跳过,如果没有,添加拼音的两个字段(如果只有名或者姓就添加一个LAST的字段)。
如果用iTools就无能为力了,没Windows。 没用过Python,但67行代码确实够多的。 |
2
yangzh OP @hpyhacking 其实就是没有mac系统。于是那个 ruby 版本的东西我用不了,自己弄个 py 版的 win 和 linux 下跑。也没有用 itunes 来导出(不清楚如何导出)。于是我没有样本知道 contacts 的格式是怎样的。至于 67 行代码,那是因为我的思路很蠢:转成列表的列表来处理,而且不想用高级特性;看起来我觉得还是挺清晰的。
|
3
hpyhacking 2012-12-22 21:50:36 +08:00
@yangzh ruby也可以在windows和linux下跑的很好。
|
4
yangzh OP @hpyhacking 不是 ruby 的问题,是通讯录格式的问题。没有 mac 就没有 contacts 这个程序来导出通讯录,就不知道 contacts 导出通讯录的精确格式是怎样的。
|
5
hpyhacking 2012-12-23 07:52:03 +08:00
@yangzh 其实我的程序不太关心具体格式,我只是在看拼音的两个字段(FIRST和LAST)有没有顺利出现在相应的位置上,Mac上Contacts应用程序导出的vcard文件,拼音两个字段是紧接着FN字段出现的,这就是我的判断依据,其他的都是原样输出。
另外如果你的联系人数据是通过iCloud同步的,你也可以试试Web上iCloud的Contacts导出vcard联系人,看了一下你给出的sample数据,感觉iTools给出的格式略微复杂一些。 |