在python

时间:2017-03-22 19:52:22

标签: python regex strip

(2, 43) 0.74670222994
(3, 15) 0.74132892839
(3, 31) 0.671141877647
(4, 19) 0.699490245832
(4, 47) 0.422715095257
(4, 48) 0.433278265941
(4, 0)  0.379862196713
(5, 19) 0.653731227092
(5, 72) 0.756726821729

上面是一个写入文件的tfidf矩阵。 我想只读取像0.74132892839这样的tf-idf值并将它们附加到列表中。

有没有办法做f.read()然后剥离索引?

1 个答案:

答案 0 :(得分:0)

使用re.sub()函数的简单解决方案:

import re

# specify your actual file name
with open('lines.txt', 'r') as fh:
    result = re.sub(r'\([^)]+\)\s*', '', fh.read()).split('\n')

print(result)

输出:

['0.74670222994', '0.74132892839', '0.671141877647', '0.699490245832', '0.422715095257', '0.433278265941', '0.379862196713', '0.653731227092', '0.756726821729']

\([^)]+\) - 匹配括号中的序列