python 提取某txt文件某字段不重复数据 并返回到新的txt文档中
我有一个txt文件,命名为test.txt,有如下数据,现想把数据中contact_info中等号后的数据提取出来,并每行一个电话号码的形式保存在新的txt文档中去。请大...
我有一个txt文件,命名为test.txt,有如下数据,现想把数据中contact_info中等号后的数据提取出来,并每行一个电话号码的形式保存在新的txt文档中去。请大侠帮忙。谢谢!
record_id=1|contact_info=913533601044|extension_number=|phone_type=移动电话
record_id=12|contact_info=918620190440|extension_number=|phone_type=移动电话
record_id=7|contact_info=918024067278|extension_number=|phone_type=移动电话。
我写的代码如下,但是跑出来新的文档里面没有数据。
def evid(a,b):
import re
in_put=open(a)
out_put=open(b,'w')
line=in_put.readlines()
temp=[]
dic=[]
for i in line:
c= re.search(r'contact_info=(\d+)',i)
if c:
temp.append(c.group(1))
for i in set(temp):
dic.append(i)
out_put.writelines(dic)
in_put.close()
out_put.close() 展开
record_id=1|contact_info=913533601044|extension_number=|phone_type=移动电话
record_id=12|contact_info=918620190440|extension_number=|phone_type=移动电话
record_id=7|contact_info=918024067278|extension_number=|phone_type=移动电话。
我写的代码如下,但是跑出来新的文档里面没有数据。
def evid(a,b):
import re
in_put=open(a)
out_put=open(b,'w')
line=in_put.readlines()
temp=[]
dic=[]
for i in line:
c= re.search(r'contact_info=(\d+)',i)
if c:
temp.append(c.group(1))
for i in set(temp):
dic.append(i)
out_put.writelines(dic)
in_put.close()
out_put.close() 展开
2个回答
展开全部
def evid(a,b):
import re
in_put=open('33.txt')
out_put=open('22.txt','w')
line=in_put.readlines()
temp=[]
dic=[]
for i in line:
print i
c= re.search(r'contact_info=(\d+)',i)
if c:
temp.append(c.group(1))
for i in set(temp):
dic.append(i)
out_put.writelines(dic)
in_put.close()
out_put.close()
evid('33.txt','22.txt')
展开全部
for more pythonic:
import re
def contextset(istream, regex):
return set([
found.groups()[0]
for found in filter(None, map(
lambda ln: re.search(regex, ln),
istream))
])
with open("a.txt", 'rt') as src, open("b.txt", 'wt') as sto:
sto.write("\n".join(list(
contextset(src, r'contact_info=(\d+)')
)))
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询