【发布时间】:2014-03-21 19:42:54
【问题描述】:
我有一个这样的文本文件:
771 776 #1 556.766700(2)
538 #2 1069.652700(2)
531 #3 1074.407600(2)
81 84 89 94 111 #4 1501.062900(2)
85 91 #5 782.298900(3)
32 42 66 71 90 95 101 #6 904.016500(3)
我想将子字符串拆分并保存到不同的变量中,如下所示: 例如在第 1 行:
scans= 771 776, uid = 1 mz = 556.766700, z = 2
我正在尝试使用以下代码,但我需要正则表达式方面的帮助:
f = open(filename, 'r')
par_info=[]
for rows in f:
re.sub('\#(.+)\s(.+)\((.+)\+', scans=\g<1>, uid=\g<2>, mz = int(\g<3>), z=int(\g<4>), rest)
info={'sc_num':scans, 'ident':uid, 'mass':mz, 'charge':z}
par_info.append(info)
【问题讨论】:
-
运行代码时会发生什么?
-
我实际上只是在字符串上尝试了正则表达式并得到以下错误:SyntaxError:行继续字符后的意外字符
-
请注意,您的代码缺少许多引号和
=,而info字典中应该有:。
标签: python regex string dictionary