python - 从文本文件中读取矩阵并将其存储在数组中
问题描述
定义
我将以下矩阵存储在文本文件中:
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1
我想从文本图块中读取这个矩阵,并使用 python 2.7 将它存储在一个二维数组中。
我尝试的代码
我尝试的代码如下:
f = open('Matrix.txt')
triplets=f.read().split()
for i in range(0,len(triplets)): triplets[i]=triplets[i].split(',')
A = np.array(triplets, dtype=np.uint8)
print(A)
问题
就目前而言,上面的代码是以一维方式打印矩阵。是否可以按照上面矩阵中的定义以二维方式保存矩阵?
解决方案
使用np.loadtxt
:
A = np.loadtxt('filename.txt')
>>> A
array([[ 1., 0., 0., 1., 0., 1., 1.],
[ 0., 1., 0., 1., 1., 1., 0.],
[ 0., 0., 1., 0., 1., 1., 1.]])
或者,您可以像您正在做的那样逐行阅读它(但这不是有效的):
A = []
with open('filename.txt', 'r') as f:
for line in f:
A.append(list(map(int,line.split())))
>>> np.array(A)
array([[1, 0, 0, 1, 0, 1, 1],
[0, 1, 0, 1, 1, 1, 0],
[0, 0, 1, 0, 1, 1, 1]])
推荐阅读
- javascript - 如何将我的一个文件 processing.js 游戏制作成 .exe 文件?
- zend-framework3 - Zend Framework 3 补水器
- amazon-web-services - checkip.amazonaws.com 什么情况下会返回多个地址?
- javascript - 我可以为溢出的 div 设置动画吗?
- c - 用户输入零以表示 C 中的输入结束
- javascript - 使用 Google Script 用数组填充 Google Sheet 行 – 范围宽度不正确
- ssl - 外挂。如何验证服务器证书?
- realm - Realm Object Server v3.9.1 - 无法删除多条记录(行)
- akka-stream - akka 流 - 使用 conflate 时触发元素流
- xslt - 问题 - 使用变量中的值对多个 XML 文件进行 XSL 搜索