繁体   English   中英

如何将文件中的多行数据读入python?

[英]How do I read multiple lines of data from a file into python?

我有一个关于化合物的文件,在它有一个具有不同名称的新部分之前,它给出了一个带有相应数据的部分的名称,有时还有几行数据。 我正在尝试读取“NAME”条目(减去“NAME”部分)并将每个名称(如果它有多个)读入一个列表,然后在它到达“FORMULA”部分时中断并让它移动到下一个'NAME' 部分,但我不知道如何。 我是一个新手程序员。 这是一个示例:化合物列表屏幕截图在此处输入图片说明

到目前为止,这是我的代码:

li=[] #list of all names
for line in inputFile:
    if line[:5]=='ENTRY':
        items = line.split()
        cmNm = items[1] #compound Number
    else line[:4]=='NAME':
        items = line.split()
        cmName = items[]
        if line[:7]=='FORMULA':
            break
with open('/path/to/file.txt', 'r') as inputFile:
    for line in inputFile:
        try:
            # Skip lines until we find an entry
            while len(line) < 5 or line[:5] != 'ENTRY':
                line = inputFile.next()
            # Setup for logging that entry
            cmNm = line.split()
            cmName = []
            # Append all name lines
            while len(line) < 7 or line[:7] != 'FORMULA':
                cmName.append(line)
                line = inputFile.next()
            # Process cmNm/cmName for current compound before moving on
            print (str(cmNm) + " " + str(cmName))
        except StopIteration:
            pass # Reached end of file

cmNm 包含 ENTRY 行的拆分列表

cmName 包含一起构成名称的行列表。

您必须添加任何您想要存储/格式化 cmNm 和 cmName 的处理方式。 我只是让它打印出来。

只要最后一个有效条目具有FORMULA您就可以安全地pass StopIteration 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM