gpt4 book ai didi

python - 在 Python 中使用部分解析纯文本

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:34 25 4
gpt4 key购买 nike

我有这样的文字:

    bla bla bla 
bla some on wanted text....

****************************************************************************
List of 12 base pairs
nt1 nt2 bp name Saenger LW DSSR
1 Q.C0 Q.G22 C-G WC 19-XIX cWW cW-W
2 Q.C1 Q.G21 C-G WC 19-XIX cWW cW-W
3 Q.U2 Q.A20 U-A WC 20-XX cWW cW-W

****************************************************************************
another unwanted text ...
another unwanted text

我想做的是提取以 List of xxx base pairs 开头的部分并以它遇到的第一个 ***** 结束。

有些情况下这个部分根本不会出现。如果发生这种情况它应该只输出 "NONE"

我如何使用 Python 做到这一点?

我试过了,但失败了。它根本不打印任何输出。

import sys
import re

def main():
"""docstring for main"""
infile = "myfile.txt"
if len(sys.argv) > 1:
infile = sys.argv[1]

regex = re.compile(r"""List of (\d+) base pairs$""",re.VERBOSE)

with open(infile, 'r') as tsvfile:
tabreader = csv.reader(tsvfile, delimiter='\t')

for row in tabreader:
if row:
line = row[0]
match = regex.match(line)
if match:
print line



if __name__ == '__main__':
main()

在代码的末尾,我希望它只会打印这个:

      nt1              nt2             bp  name         Saenger     LW  DSSR
1 Q.C0 Q.G22 C-G WC 19-XIX cWW cW-W
2 Q.C1 Q.G21 C-G WC 19-XIX cWW cW-W
3 Q.U2 Q.A20 U-A WC 20-XX cWW cW-W

或者干脆

NONE

最佳答案

At the end of the code I was hoping it would just print this:

有几个问题。正则表达式有点过于严格。循环不将正则表达式匹配识别为起点。 ******* 端点没有提前退出。

下面是一些可以帮助您入门的工作代码:

import re

text = '''
bla bla bla
bla some on wanted text....

****************************************************************************
List of 12 base pairs
nt1 nt2 bp name Saenger LW DSSR
1 Q.C0 Q.G22 C-G WC 19-XIX cWW cW-W
2 Q.C1 Q.G21 C-G WC 19-XIX cWW cW-W
3 Q.U2 Q.A20 U-A WC 20-XX cWW cW-W

****************************************************************************
another unwanted text ...
another unwanted text
'''

regex = re.compile(r"List of (\d+) base pairs")

started = False
for line in text.splitlines():
if started:
if line.startswith('*******'):
break
print line
elif regex.search(line):
started = True

关于python - 在 Python 中使用部分解析纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com