我有一个像这样订购的文本文件:
A,1,1
B,1,5
C,3,7
D,5,5
E,5,1
字母是节点标签,第一个数字是x坐标,第二个数字是y坐标。
我试图存储这些"节点"作为不同数组的片段(即字母标签存储在元素位置的一个数组中,x坐标存储在匹配元素位置的数组中,y坐标存储到匹配元素位置)
所以对于我的第一个节点,我会:
A位于nodeLabel[]
1位于xCoord[]
1位于yCoord[]
这涉及我理解的一些概念。首先,我需要打开文件并从中读取。
需要将文件读取到逗号或\ n并存储值
然后需要切换数组并读取下一个逗号或\ n 并存储值。
然后需要切换数组并读取下一个逗号或\ n 并存储值。
如果 .read 功能遇到新行,则需要转到 下一行
我的问题是,我不知道如何告诉Python我希望存储特定值的位置以及应该存储哪些数组。我找到了一些使用split()
函数的信息。这是否允许我告诉read()
函数何时停止?
现在我有这个:
def file_stuff():
with open('Offices.txt') as input_data:
for line in input_data
if line.strip() == ',', '\n':
break
elif
我不确定将elif
条件设置为什么。
作为一个结构,这会更有意义,因为我必须实现一个GUI来绘制节点吗?
答案 0 :(得分:1)
这样的事情:
def file_stuff():
nodes = []
X = []
Y = []
with open('Offices.txt') as input_data:
for line in input_data:
n, x, y = line.split(',')
nodes.append(n)
X.append(int(x))
Y.append(int(y))
这很简单,因为它不检查输入文件的有效性,但如果文件格式正确,应该按照您的意愿执行。 另一个问题是你的函数没有返回任何值,如果你想进行进一步的操作,你应该添加如下内容:
return (n, X, Y)