weixin_38065487
2019-03-31 13:11
采纳率: 50%
浏览 3.1k

python如何抽取txt文件中用tab分隔的第一个字符串并去重?

环境:python3
现有一个三元组的txt文件,每个三元组占一行,实体和属性用tab键隔开;

如何抽取出每一行的第一个实体并将其写入一个txt,一个实体占一行。数据量比较大大概6500万条

我这么写的,是不是正则表达式的问题?

import datetime
import re

start_time = datetime.datetime.now()
print("start time:", start_time)
count = 1
f = open(r'D:\bishe_data\test.txt',encoding='utf-8',mode='r')
line = f.readline()
while line != "":
    s = re.split('^[^\s]+/t'',' ',data)
    print(s)
    line = f.readline()
f.close()
end_time = datetime.datetime.now()
print("end_time:", end_time)
print("during:", end_time - start_time)
print(count)

求大神解答!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • weixin_38065487 2019-03-31 14:16
    已采纳

    python

    result = re.sub('"|“|”|</ a>|<a>|★|\'',' ',data)
    a, b= result.split('\t')[0],result.split('\t')[-1]
    wt.write(a+'\n')
    wt1.write(b.strip('\n')+'\n')
    
    点赞 打赏 评论
  • blownewbee 2019-03-31 13:16

    是的,你的\t写成了/t

    点赞 打赏 评论

相关推荐 更多相似问题