将数据读入二维数组?

时间:2014-05-24 00:00:14

标签: python arrays

我正在尝试将数据文件读入二维数组。 例如:

file.dat

1 2 3 a
4 5 6 b
7 8 9 c

我尝试过类似的事情:

file=open("file.dat","r")

var = [[]]
var.append([j for j in i.split()] for i in file)

但这没效果。

我需要二维数组形式的数据,因为我之后需要对每个元素进行操作,例如。

for k in range(3):
    newval(k) = var[k,1]

知道怎么做吗?

3 个答案:

答案 0 :(得分:3)

file = open("file.dat", "r")          # open file for reading

var = []                              # initialize empty array
for line in file:
  var.append(line.strip().split(' ')) # split each line on the <space>, and turn it into an array
                                      # thus creating an array of arrays.
file.close()                          # close file.

答案 1 :(得分:0)

这对我有用:

with open("/path/to/file", 'r') as f:
    lines = [[float(n) for n in line.strip().split(' ')] for line in f]

真的很奇怪的人在评论中说没有一条线解决方案。我花了这么少的测试来完成这项工作。

答案 2 :(得分:0)

v = []
with open("data.txt", 'r') as file:
    for line in file:
        if line.split():
            line = [float(x) for x in line.split()]
            v.append(line)

print(v)