Python - 从文件中读取数据

时间:2015-07-04 11:47:05

标签: python arrays

我是Python的新手,我在尝试从文件中读取数据时遇到了一些问题。这就是文件的样子:

3.25 5.82 3.29 5.81 2.11 3.59
3.23 5.79 3.22 5.76 2.06 3.58 
3.26 5.80 3.25 5.80 2.06 3.61 
3.22 5.81 3.22 5.84 2.07 3.65 
3.31 5.91 3.32 5.90 2.09 3.67 
3.31 5.91 3.32 5.90 2.09 3.67

这是我用来阅读的代码的一部分:

with open("list_spectral_ron.txt") as ron_list:
    for line in ron_list.readlines():
        if (line[0] != '\n') & (line[0] != '#'):
            line_split = line.split()

我想将这些数据保存在一个数组中,所以我可以访问整个行或列(我想在之后绘制这些数据)。 问题是" line.split()"每次他读取该行时都给我一个列向量,我不知道如何连接"所有线条形成一个二维数组。 我总是得到这样的矢量:

3.25 5.82 3.29 5.81 2.11 3.59 3.23 5.79 3.22 5.76 2.06 3.58 ... and so on

而不是2D数组。

我尝试使用append和concatenate函数,但我什么都没做。 我怎样才能将数据保存为2D数组?

2 个答案:

答案 0 :(得分:0)

file = open("list_spectral_ron.txt", "r")          

array_2d = []                              
for line in file:
  array_2d.append(line.strip().split(' ')) 

file.close()  

答案 1 :(得分:0)

尝试修改split函数参数:

total_array.append(line_split)

现在你应该为每一行获得一个数组[3.25,5.82 ...]

然后只需将line_split数组添加到您在循环外部定义的总数组

/usr/bin/convert