Python从txt文件中提取数据并忽略标题

Python从txt文件中提取数据并忽略标题,python,extract,Python,Extract,我有一个txt文件,它显示节点和节点之间的边。节点部分包含一些附加信息。该文件如下所示: @nodes label characteristic A characteristic B 1 vfn 5 2 ksdv 625 3 asn 0 @edges 1 3 2 3 如果我有一个用于节点的文件和一个用于边缘的文件,而没有标题,那么我可以提取信息,

我有一个txt文件,它显示节点和节点之间的边。节点部分包含一些附加信息。该文件如下所示:

@nodes
label    characteristic A    characteristic B
1        vfn                 5
2        ksdv                625
3        asn                 0

@edges
1 3
2 3
如果我有一个用于节点的文件和一个用于边缘的文件,而没有标题,那么我可以提取信息,但如果文件看起来像示例,我如何提取信息?由于SKcript必须适用于这种格式的所有节点边缘文件,我不能只剪切某些行,我需要找到@符号并沿着该行剪切。除此之外,我需要剪切出具有特征的节点头,而边缘部分没有头


感谢您的帮助

这就是你要找的吗

file = open(“testfile.txt”, “r”) 
for line in file:
    if line[:1] != "@":
    print line or whatever
这就是你在找什么

file = open(“testfile.txt”, “r”) 
for line in file:
    if line[:1] != "@":
    print line or whatever
结果是两个列表:节点、边

from __future__ import print_function

with open("nodes-edges.txt") as g:
    data = g.read().replace('@nodes\n', '').split('\n')[1:]

    is_node = True
    nodes = []
    edges = []

    for item in data:
        if item == '@edges':
            item = ''
            is_node = False

        if item:
            list_elements = [element for element in item.split(' ') if element != '' ]

            if is_node:
                nodes.append(list_elements)
            else:
                edges.append(list_elements)

    print('nodes: ', nodes)
    print('edges: ', edges)

您只想提取两个文本部分?您应该尝试改进您的问题以获得有用的答案。首先,展示您已经尝试过的代码以及它是如何失败的——或者至少您计划如何处理数据。标题也需要更改-您不想忽略标题-它们实际上会告诉您后面是什么类型的数据。