`

android的【qq通讯录】导出短信,在iphone上恢复

 
阅读更多

事件经过:朋友原来用android手机,现在新买了iphone,系统:ios 6.1.3。他在android手机上用QQ通讯录把所有短信导出一个csv文件,但他在新iphone上装 QQ通讯录 时,却发现没了恢复短信的功能。我尝试用itools帮他恢复短信,找到一个教程-- http://bbs.itools.hk/thread-48-1-1.html 。但我发现itools不能识别该CSV文件。提示:无法识别的文件格式。我就想用自己的手机导出在itools中导出自己的短信,发现itools的CSV文件格式是:

PhoneNumber,DateCreated,Content,Type,State

10000,2013-05-28 10:52:42,"欢迎您XXXXXX",recv,read

11234345,2013-05-28 10:55:32,"XXXXXXXXX",send,read

 

接下是正题,如何解决itools导入csv文件无法识别问题:

1.所需的软件包括:python 2.7,notepad++

2.用Notepad++新建一个 【.py】后缀的文件,把QQ通讯录导出的格式转换成itools可识别的格式,代码如下(QQ通讯录的CSV文件放在D盘根目录下,转换后的文件都会放在D盘):

#-*- coding:utf-8 -*-
import csv
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

reader = csv.reader(open('D:/msg.csv'))
out = open('D:/out.csv','w')
firstLine = 'PhoneNumber,DateCreated,Content,Type,State'
print >>out, firstLine
file = csv.writer(out)
for line in reader:
    text = line[0]
    if type(text)==float:
        text = long(text)
        text = str(text)
    name = line[1]
    if type(name)==float:
        name = long(name)
        name = str(name)
    phone = line[2]
    time = line[3]
    cate = line[4]
    if cate=='fajianxiang':
        cate = 'send'
    else:
        cate = 'recv'
    state = 'read'
    list = [phone,time,text,cate,state]
    file.writerow(list)
    print '-',
    
out.close()

 

3. 把qq通讯录导出的CSV文件用notapad++打开,删除第一行:

"内容","对方名字","对方手机","发送时间 ","类型 "

   接着把该CSV文件里的所有“发件箱”全替换成“fajianxiang”(因为python里识别中文太费劲,我直接替换就算了)

 

4. 下一步就是运行这个python文件,完了会在D盘生成一个out.csv文件。用notepad++打开,然后复制全部内容,再点notepad++的【格式】--【转为UCS2 Little Endian 格式编码】,再黏贴全部内容。

 

这时的文件itools就能识别了,可以继续上面那教程的导入。有什么不懂可发email给我。bosshida@gmail.com

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics