2013-10-07 23 views
0

嘿,我有一个python程序,它有一个预定义的矩阵,通过套接字连接连接到一个盒子,从矩阵发送命令,用预定义的响应并输出到csv文件。在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 

,我们需要每一列矩阵的一个独立部分的格式。

我似乎无法找到关于如何读取文件和转换值的许多信息。我只能读取文件并在输出中显示信息。

回答

0

如果你想读一个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内置插件stripsplit获得,该插件分别修剪前导和尾随空格,并根据分隔符(本例中为,)将字符串拆分为字符串列表。 strip调用是必要的,否则最后会在矩阵中每行最后一个单元的末尾添加换行符。

您可以从Python tutorialreference(链接到Python 2.x文档,Python 3.x的文档也可以)获得所有这些以及更多内容。这是我在回答之前查看信息的地方。一般来说,python文档很容易导航和阅读,IMO,而且教程很快就能让你了解基本任务。每当你不知道如何做某件事时,值得一看。

+0

这就像一个魅力好先生工作。非常感谢你! – Trea

0

如果你想读一个逗号分隔的文件到Python中的列表,你可以做类似这样的事情。请注意,它正在从标准输入读取文件,并且只读取第一行。

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

我没有看到你为什么发布该Python代码的重点,它没有真正意义上关于你的问题。

+0

我发布它只是为了更多的信息如何一切工作在一起。更多信息有时可能会导致混淆。谢谢您的回答。 “x”是正在读取的文件吗? – Trea

相关问题