当前位置: 锦州在线首页 >> 资讯
python实现将android手机通讯录vcf文件转化为csv!
发表时间:2021-02-21 04:21:03  阅读:-$.getJSON(["/ajax/viewArticle?s=", +new Date(), "&id=", "12957"].join(''), function (ret) {$('#view-times').html("阅读:" + ret.data);});   来源:互联网
python实现将android手机通讯录vcf文件转化为csv

经常会遇到将手机通讯录导出到电脑并转化为在电脑中可编辑的情况,在网上搜索了很久当前不外乎两种处理方式。1.使用电脑的outlook的通讯簿功能,将手机导出的vcf文件导入到outlook的通讯录中,然后再导出为可编辑文件;2.是使用专用软件直接打开vcf文件。很不幸两种都不适合我,第一种导出到outlook后人名部分全是乱码,第二种方式下载软件后就没打开成功(有可能下载的软件与我的电脑不兼容)。

在网上也找了一些python的代码自己转化,一直没有找到合适的代码,我的vcf文件中的名称部分是QP编码格式。下面将我自己处理过程简单描述一下。

手机:华为MATE系列

python环境:python3.6.2

1.首先检查导出的vcf文件用文本编辑打开,会发现是如下的一些格式,从“ENCODING=QUOTED-PRINTABLE”可以看出名称部分是QP编码,对该部分进行编码才是关键

BEGIN:VCARD

VERSION:2.1

N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=E5=86=AF=E8=94=B5=E5=B6=A5;;;

FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E5=B7=A5=20=E8=94=B6=20=E5=86=AF

TEL;CELL:1-351-886-xxxx

END:VCARD

2.导入import quopri,对QP部分进行解码,截取Q P编 码内容在此不赘述

对中文名称部分进行解码: quopri.decodestring(line[43:-3]).decode('utf-8')

对英文名称部分进行解码:quopri.decodestring(line[43:]).decode('utf-8')

3.另外还有一点vcf导出的电话有些是有空格,有些是有“-‘,所以最好用以下语句规范化一下

(line[9:]).replace("-","").replace(" ","") + ",";

OK,到此基本上已经大功告成,我是写个循环,将cvf文件所有名片都循环处理一遍然后导入到一个csv文件中。

以后可以定期将手机通讯录导到电脑了。

推荐阅读:依尚女性网

上一篇:没有了
下一篇:三星Galaxy S9 mini曝光:搭载骁龙660!
图片推荐
关于我们 | 联系我们 | XML地图 | 网站地图TXT | 版权声明

Copyright 2021 锦州在线 版权所有 本网拒绝一切非法行为 欢迎监督举报 如有错误信息 欢迎纠正