我有一个巨大的文本文件。它看起来如下
> <Enzymologic: Ki nM 1>
257000
> <Enzymologic: IC50 nM 1>
n/a
> <ITC: Delta_G0 kJ/mole 1>
n/a
> <Enzymologic: Ki nM 1>
5000
> <Enzymologic: EC50/IC50 nM 1>
1000
.....
现在我想创建python脚本来查找像(> <Enzymologic: Ki nM 1>
,> <Enzymologic: EC50/IC50 nM 1>
)这样的单词,并以制表符分隔的格式打印每个单词的下一行,如下所示
我试着遵循代码
infile = path of the file
lines = infile.readlines()
infile.close()
searchtxt = "> <Enzymologic: IC50 nM 1>", "> <Enzymologic: Ki nM 1>"
for i, line in enumerate(lines):
if searchtxt in line and i+1 < len(lines):
print lines[i+1]
但是它不起作用,任何人都可以建议一些代码…来实现它。在
提前谢谢
你真的有太多不同的问题:
解析文件并从中提取数据
现在这段代码假设你的文件没有被破坏 你总是有这样的结构:
如果没有,你可能需要更坚固的东西。在
其次,它将所有值存储在内存中,如果 你有很多价值观。如果是这样的话,你需要考虑一些存储空间 解决方案,例如
shelve
模块或sqlite
。在将结果保存到文件中
^{pr2}$因为我正在为您编写整个代码,所以我仔细地使用了一些高级Python习惯用法,这样您在使用它时会有一些值得思考的东西。在
我认为你的问题是因为你做了}。我要做的是:
if searchtxt in line
,而不是对你的pattern
中的每个searchtxt
做{dict的使用允许按模式对结果进行分组(
defaultdict
是一种不必强制初始化对象的方便方法)。在然后根据需要格式化输出。在
相关问题 更多 >
编程相关推荐