合肥在线网_专业打造合肥市网民最喜欢的企业资讯平台
您当前的位置 : 合肥在线网  >  企业
python实现将android手机通讯录vcf文件转化为csv
2020-08-05 11:16:53 来源:互联网 阅读:-
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文件中。

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

推荐阅读:note6

频道推荐
  • 中国制造是否真的“低价误国”?
    中国制造是否真的“低价误国”?

    自2010年成立以来,小米以高性价比和互联网模式切入手机市场,短短四五年时间即成为全球手机出货头部厂商。但在迅速崛起同时,小米的发展模式遭受不少质疑。曾有观点认...

    2019-12-24
  • SSD价格:开始失控了
    SSD价格:开始失控了

    熊市了快两年,存储厂商们干预市场的情绪有些按捺不住。消息称,NAND Flash存储芯片的合约价将在明年一季度上涨10%~15%,这可能会反应到具体的SSD、U...

    2019-12-24
  • 谷歌这升级的味道,简直跟苹果毫无差别
    谷歌这升级的味道,简直跟苹果毫无差别

    前几个月安卓 10 刚推送那会儿,机哥就给大家介绍过这个最新版的系统。(左:小横条 右:返回桌面手势)由于 Pixel 4 本身,就和今年刚用上浴霸摄像头的 i...

    2019-12-24
  • AI芯片动荡变局:高通华为海思神仙打架,中国超美国成为最大市场
    AI芯片动荡变局:高通华为海思神仙打架,中国

    智东西(公众号:zhidxcom)文 | 心缘上世纪80年代,英特尔曾身陷风雨飘摇的境地。令人生畏的日企在存储芯片领域势如破竹,将英特尔等美国半导体公司逼至越投...

    2019-12-24
  • “失联”10天后罗永浩再次回归,重操旧业教英语?
    “失联”10天后罗永浩再次回归,重操旧业教英

    前言:刚刚,老罗终于发布了一则新动态,这让不少网友都为止兴奋不已,大家都十分好奇老罗这段时间在忙什么。此外,最引人注目的还是老罗发布的这个动态的内容,是一个英语...

    2019-12-24
  • 你今年买「苹果」了吗?
    你今年买「苹果」了吗?

    异彩纷呈的 2019 年里,无论是从数量还是质量来看,苹果都交出了一份还不错的「硬件成绩单」。论数量,苹果今年的产品发布节奏比往年更频繁,从 2019 年 1 ...

    2019-12-24