0

嘿伙计们,我有一个 python 程序,它有一个预定义的矩阵,它通过套接字连接连接到一个盒子,从矩阵发送命令,使用预定义的响应检查响应并输出到一个 csv 文件。

  command_matrix = [

 # RSA:FREQ:CENT
    # Lower Range Pass
        ["RSA:FREQ:CENT 9000" , "Success" , "RSA:FREQ:CENT?" , "9000"]
]

将是命令矩阵的一部分,其 csv 输出为 -

RSA:FREQ:CENT 9000, Success,    Success,        RSA:FREQ:CENT?, 9000,   9000

使用该程序而不是每次都为不同的测试编辑矩阵,我们希望使用用户创建的 csv 文件,读取该文件,并将其替换为命令矩阵。

用户将创建的 csv 文件的格式如下所示 -

RSA:FREQ:CENT 9000, Success,    RSA:FREQ:CENT?, 9000

我们需要每列一个矩阵的单独部分。

我似乎找不到太多关于如何读取文件和转换值的信息。我只阅读了文件并在输出中显示了信息。

4

2 回答 2

1

如果要将 csv 文件的内容读command-matrix.csv入变量command_matrix,可以执行以下操作:

commands_csv = open("command-matrix.csv")
command_matrix = []
for line in commands_csv:
    command_matrix.append(line.strip().split(','))

Python 可以遍历文件中的行,因此这将从文件中连续获取每一行,直到到达末尾,并为读取的每一行在矩阵的末尾附加一行。该行是通过使用 python 内置strip和获得的split,它们分别修剪前导和尾随空格,并根据分隔符将字符串拆分为字符串列表(在本例中为,)。该strip调用是必要的,否则您将在矩阵中每一行的最后一个单元格的末尾添加换行符。

您可以从 Python教程参考中获得所有这些以及更多内容(链接指向 Python 2.x 文档,也提供 Python 3.x 文档)。这是我在回答之前查找信息的地方。一般来说,python 文档很容易浏览和阅读,IMO,本教程可以快速让您快速了解基本任务。每当您不确定如何做某事时,都值得一看。

于 2013-10-07T21:44:25.800 回答
0

如果您想将逗号分隔的文件读取到 python 中的列表中,您可以执行类似的操作。请注意,它是从标准输入读取文件,并且只读取第一行。

import sys
row = [x.strip() for x in sys.stdin.readline().split(',')]
command_matrix = [row]

我不明白你为什么发布那个 python 代码,这对你的问题没有任何意义。

于 2013-10-07T21:34:32.943 回答