Python 2.7:从.txt读取到矩阵

时间:2014-11-11 12:35:06

标签: python matrix

这是我的第一篇文章:)

我的问题是如何从.txt文件中读取二进制数组到矩阵?例如,我有这样一个文件:

0000010101010
1101010101000
0010010010000
0000000000000
.
.
.

我喜欢将数据复制到这样的矩阵:

[[0,0,0,0,0,1,0,1,0,1,0,1,0],  
 [1,1,0,1,0,1,0,1,0,1,0,0,0], 
 [0,0,1,0,0,1,0,0,1,0,0,0,0],  
 [0,0,0,0,0,0,0,0,0,0,0,0,0]]

我的问题是我没有使用任何位分隔符(每行的\ n的一部分)。

2 个答案:

答案 0 :(得分:0)

做这样的事情: -

    with open('new.txt') as f:
        l = [map(int, line.strip()) for line in f]
    print l

输出: -

>>> 
[[0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0], [1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0], [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

答案 1 :(得分:0)

您可以使用scipy.org

下载Matrix来创建numpy

Matrix Here

的示例
import numpy
file=open("m.txt",'r')
m=[]
s=[]
for i in file.readlines():
 for j in i:
   if j!='\n':
      s.append(j)
 m.append(s)
 s=[]

matrix=numpy.matrix(m)

输出显示如下:

    matrix([['0','0','0','0','0','1','0','1','0','1','0','1','0'],
    ['1','1','0','1','0','1','0','1','0','1','0','0','0'],
    ['0', '0','1','0','0','1','0','0','1','0','0','0','0'],
    ['0','0','0','0','0','0', '0', '0','0','0','0','0','0']], 
   dtype='|S1')