读书人

如何用python读取一个已经乱了的电话本

发布时间: 2012-03-27 13:44:24 作者: rapoo

求助怎么用python读取一个已经乱了的电话本txt文件
求助怎么用python读取一个已经乱了的电话本txt文件 虽然乱了,但还是有规律的,读出来以后能否写入一个xls文件,(实在有困难.txt文本也可,前提是 把姓名和号码分为两列,,这样我就可以自己手动拷贝到xls文件了,哈哈)电话字段 下填电话 姓名字段下填姓名,读取的时候应该设置循环吧?怎么实现知道循环的总数呢?求帮助,本人新学python,,,谢谢,,,,如下

UID:36
TEL:13687371414
N:;李文
FN:李文
END:VCARD 36 BEGIN:VCARD
VERSION:3.0
REV:2011-04-26T16:27:04Z
UID:29
TEL:15874048855
N:;zy;
FN:zy
END:VCARD 29 BEGIN:VCARD
VERSION:3.0
REV:2011-04-26T16:27:01Z
UID:21
TEL:15580047788
N:;黄;
FN:黄
END:VCARD 21 BEGIN:VCARD
VERSION:3.0
REV:2011-07-04T07:44:27Z
UID:14
TEL;TYPE=CELL,VOICE:13647484458
FN:杨;
END:VCARD 14  Sj


[解决办法]

Python code
#! /usr/bin/env python#coding=utf-8import redef readandshowfile(filename):    try:        fh=open(filename)        fc=fh.read()        fh.close()        r=re.compile(r'(UID:\d*[\s]*TEL:\d*[\s]*N:.*)')        datas=r.findall(fc)        for data in datas:            temp=data.split('\n')            for i in temp:                print i.split(':')[1].replace(';', '')            #print data    except Exception, ex:        print exif __name__=='__main__':    filename='c:/temp/temp.txt'    readandshowfile(filename)
[解决办法]
解析字符串,这方法笨,但是实在。
Python code
infile = open(r'path','r')text=infile.read()#读出的内容作为字符串infile.close()contentlist = text.split('UID:')# 按“UID:”切割成字符串序列for content in contentlist:    n = content[content.find('N:')+2:content.find('FN:')-2]    fn = content[content.find('FN:')+3:content.find('END:')-2]    tel = content[content.find('TEL:')+4:content.find('N:')-2]    print '%s%s,%s\n'%(fn,n,tel) 

读书人网 >perl python

热点推荐