我有一行python代码来从数据中提取数值:
for line in infile:
line = line.strip()
m = re.findall('^[\S*]|[\#*].*([0-9.]+)', line)
print m
要提取的数据:
Sombry23 083_13A
# spiserg (>= 20 ma) 80
Anumm Lowess (>= 20 ma) 1971621
# someure 80
Lomwer Spisers 147719
Assime Suree 1971621
Starrduss Murgge 2007491
MR (%) 41.30
Remanoweq MR (%) 41.30
X90 69829
预期结果(以制表符分隔):
083_13A 80 1971621 80 147719 1971621 2007491 41.30 41.30 69829
如何修改此代码以获得预期的输出?
答案 0 :(得分:3)
print '\t'.join([line.strip().split()[-1] for line in infile])
答案 1 :(得分:1)
如果你真的想用正则表达式来做这里的话。
list = []
for line in infile:
list.append(re.search(r"^.*\s(.+)$",line).group(1))
print "\t".join(list)
虽然amit的回答更清晰