vcf通讯录转excel

发布时间:2025-12-09 21:11:13 浏览次数:4

    老父亲从手机导出了一个vcf格式的通讯录,让我帮他转成excel格式的好打印出来,我根据百度捣鼓了半天都没有成功。生气了,还是伟人说得好,自己动手,丰衣足食。

    用文本编辑器打开vcf一看,就是文本格式,我只需要把它转换成csv格式,然后就可以导入到Excel中了,cvf中每个名片的格式大概如下:

BEGIN:VCARD
VERSION:3.0
N:x;xx;;;
FN:xxx
TEL;TYPE=CELL:13333333333
TEL;TYPE=HOME:01088887777

END:VCARD

  从内容看,只需要取"FN:"、"TEL"打头的字段,遇到"END"再开始下一个名片

    Python代码如下:

with open("f:/contacts.vcf", 'r') as rf, open('e:/contacts.csv', 'w') as wf:content = ['', '', '', '']tel = 0for line in rf.readlines():if line.startswith('FN:'):content[0] = line[3:].strip()elif line.startswith('TEL'):if tel > 2:continuepos = line.find(':')content[tel + 1] = line[pos + 1:].strip()tel = tel + 1elif line.startswith('END'):str = ','.join(content) + '\n'wf.write(str)content = ['', '', '', '']tel = 0E盘根目录下csv就出来了,然后打开Excel,数据->导入->编辑,把电话号码的那几列都改成文本,否则不是变成科学计数法就是电话号码最前面的0会丢,然后确定、保存,结束!
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477