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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 磁盘分区MBR和GPT格式详解(Linu
- 下一篇: jenkins学习4-进docker容器