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文件中。

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

posted on 2019-03-24 20:35 Jay.smalldata 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Jay-smalldata/p/10590185.html

python实现将android手机通讯录vcf文件转化为csv相关推荐

  1. pta通讯录排序用python实现,python实现将android手机通讯录vcf文件转化为csv

    经常会遇到将手机通讯录导出到电脑并转化为在电脑中可编辑的情况,在网上搜索了很久当前不外乎两种处理方式.1.使用电脑的outlook的通讯簿功能,将手机导出的vcf文件导入到outlook的通讯录中,然 ...

  2. Android手机通讯录备份和恢复项目

    Android手机通讯录备份和恢复项目 附下载地址** 登录功能 注册功能 找回密码 修改密码 备份功能 恢复功能 恢复数据从服务器 导出为Excel文件 登录功能 注册功能 找回密码 同注册功能 修 ...

  3. 一篇很好的关于Android的本科毕业论文《基于android手机通讯录的设计与实现毕业论文》转自百度

    本文转自: http://wenku.baidu.com/view/bb7dad58804d2b160b4ec058.html 相应的word文档csdn下载地址: http://download.c ...

  4. android备份手机号码,Android手机通讯录备份还原代码

    最近想写段Android程序玩玩.开发环境 Eclipse ,Android 2.2 开发环境搭建 1.先安装jdk 2.下载安装eclipse 3.下载安装android sdk 4.安装eclip ...

  5. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  6. Android手机修改hosts文件

    有的时候,我们需要在内网环境测试软件,内网将域名解析的时候比较麻烦,Android手机直接修改hosts文件可以带来方便. hosts文件的作用实际上就是将域名解析为ip地址,比如你的hosts文件里 ...

  7. [附源码]计算机毕业设计Python+uniapp基于android手机设计并实现在线点单系统APPo682z(程序+源码+LW+远程部署)

    [附源码]计算机毕业设计Python+uniapp基于android手机设计并实现在线点单系统APPo682z(程序+源码+LW+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装 ...

  8. Mac电脑管理Android手机(传输文件)

    Mac电脑管理Android手机(传输文件) Mac管理Android设备,需通过一个官网软件操作--"Android文件传输"应用 Android File Transfer 官 ...

  9. android 添加通讯录联系人头像,Android 手机通讯录开发时给联系人添加头像失败的坑...

    Android 手机通讯录开发时给联系人添加头像失败的坑,在给联系人添加头像代码 Bitmap photo = ...; // 将 Bitmap 转为 byte[] byte[] bytes = Ls ...

  10. 对android手机已删除文件的恢复

    对android手机已删除文件的恢复 LOST.DIR文件夹中意外丢失文件的恢复方法 玩了一段时间Android系统了,大家都一定知道,LOST.DIR目录是Android系统下一个意外丢失的文件收集 ...

最新文章

  1. Spring MVC常用注解说明
  2. 国产SM4密码算法详解和实现
  3. spring mvc 异常统一处理方式
  4. Py之Xlrd:Xlrd简介、安装、使用方法(读取xlsx文件的shee表头名/总行数/总列数、每一行的内容、指定列的内容)之详细攻略
  5. MySQL事务的四种隔离级别,mysql中的不可重复读和幻读的区别,Repeatable read可重复读隔离级别下怎么不存在幻读问题?
  6. codevs 1066 引水入城(DFS+DP)
  7. linux系统修改为静态IP地址
  8. 机器学习基础算法16- 决策树与随机森林-理论部分
  9. python3 open打开文件_Python3基础 file open 打开txt文件并打印出全文
  10. poj 1159 (DP LCS)
  11. python自定义函数拟合_python自定义函数拟合
  12. SD-WAN 系列--企业专线、企业互联网
  13. Offer是否具有法律效力
  14. Could not inflate Behavior subclass
  15. php钓鱼怎么使用方法,盘钩使用方法
  16. “数据结构”课程的内容
  17. hadoop之mapreduce教程+案例学习(二)
  18. cost的导函数_几种常见函数的导数
  19. 采药(c语言贪心算法)
  20. springboot 东方通(tongweb)替换tomcat

热门文章

  1. 小爱音箱 电脑 麦克风_拆解报告:小米小爱音箱Art 智能音箱
  2. MOSSE相关滤波跟踪算法
  3. 系统视频教学视频教程_Amesim综合液压系统视频教程专题更新通知
  4. ICCV 2021可逆的跨空间映射实现多样化的图像风格传输:Diverse Image Style Transfer via Invertible Cross-Space Mapping
  5. Java使用模板打印文档记录
  6. 蓝桥杯真题:k倍区间
  7. 我在b站上大学:计算机类优秀网课汇总【持续更新】
  8. 哄女票超简单程序代码(日常小惊喜)
  9. 惠普打印机换硒鼓图解_惠普打印机墨盒更换步骤
  10. ZigBee Z-Stack 2.04 IAR软件版本