經常會遇到将手機通訊錄導出到電腦并轉化為在電腦中可編輯的情況,在網上搜索了很久當前不外乎兩種處理方式。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文件中。
以後可以定期将手機通訊錄導到電腦了。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!