在 Python 中逐行读取文本文件并将其存储到结构中作为绘图坐标

Reading text file line by line in Python and storing into struct as coordinates for graphing

我有这样一个文本文件:

A,1,1

B,1,5

C,3,7

D,5,5

E,5,1

字母为节点标签,第一个数字为x坐标,第二个数字为y坐标。

我正在尝试将这些 "nodes" 存储为不同数组的片段(即字母标签存储在一个元素位置的数组中,x 坐标存储在匹配元素位置的数组中,并且y坐标存储到匹配元素位置)

所以对于我的第一个节点,我会:

A 在 nodeLabel[]

中的位置 0

1 在 xCoord[]

中的位置 0

1 在 yCoord[]

中的位置 0

这里涉及到我理解的几个概念。首先,我需要打开文件并从中读取。

我的问题是我不知道如何告诉 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 来绘制节点图?

像这样:

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 任何值,如果你想做进一步的操作,你应该添加如下内容:

   return (n, X, Y)