今天碰到一个问题,如何将功能机的号码簿转换到智能机中。但是 这款BBK手机没有对应的电脑端软件,所以备份号码簿并不方便。我的解决方案是将功能机的电话簿导出成.csv格式的文件。导出的格式如下:
---------------
姓名,电话,邮箱,……
李四,13579236810,,,
---------------
棘手的是标题都是中文。直接将这个csv文件导入到智能手机中,发现只有号码没有名字。然后我尝试用QQ手机助手导出了一份文件,腾讯的备份文件格式为:
Title,First Name,Middle Name,Last Name,Suffix,Company,Department,Job Title,Business Street,Business Street 2,Business Street 3,Business City,Business State,Business Postal Code,Business Country/Region,Home Street,Home Street 2,Home Street 3,Home City,Home State,Home Postal Code,Home Country/Region,Other Street,Other Street 2,Other Street 3,Other City,Other State,Other Postal Code,Other Country/Region,Assistant's Phone,Business Fax,Business Phone,Business Phone 2,Callback,Car Phone,Company Main Phone,Home Fax,Home Phone,Home Phone 2,ISDN,Mobile Phone,Other Fax,Other Phone,Pager,Primary Phone,Radio Phone,TTY/TDD Phone,Telex,Account,Anniversary,Assistant's Name,Billing Information,Birthday,Business Address PO Box,Categories,Children,Directory Server,E-mail Address,E-mail Type,E-mail Display Name,E-mail 2 Address,E-mail 2 Type,E-mail 2 Display Name,E-mail 3 Address,E-mail 3 Type,E-mail 3 Display Name,Gender,Government ID Number,Hobby,Home Address PO Box,Initials,Internet Free Busy,Keywords,Language,Location,Manager's Name,Mileage,Notes,Office Location,Organizational ID Number,Other Address PO Box,Priority,Private,Profession,Referred By,Sensitivity,Spouse,User 1,User 2,User 3,User 4,Web Page
,,,陈二兵,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,151XXXXXXXX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
现在的解决方案整理如下:
1)将功能机导出的csv文件转换为腾讯的这种备份文件的格式。
2)方法似乎也很简单,直接写个脚本处理一下即可。涉及到文件读写、正则表达式(含中文匹配)
Python代码如下:
#encoding: utf-8
import re
src = open(r'd:/phonebook.csv','rU')
dist = open(r'd:/dist.txt','a')
tuples = re.findall(r'([\x80-\xff]+),(1[0-9]{10})',src.read())
for var in tuples:
dist.writelines(',,,'+var[0]+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,' + var[1] + ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n')
dist.close()
src.close()
将生成的文件和csv文件合并。
然后使用腾讯手机助手还原这个生成的csv文件还原到智能机中。
代码很简单,给我们的启示就是,写几行代码可以解决生活中的很多问题。