Python从txt文件中提取数据并忽略标题
我有一个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 如果我有一个用于节点的文件和一个用于边缘的文件,而没有标题,那么我可以提取信息,
@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)
您只想提取两个文本部分?您应该尝试改进您的问题以获得有用的答案。首先,展示您已经尝试过的代码以及它是如何失败的——或者至少您计划如何处理数据。标题也需要更改-您不想忽略标题-它们实际上会告诉您后面是什么类型的数据。