利用数组的的文件输入输出

Posted catxjd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用数组的的文件输入输出相关的知识,希望对你有一定的参考价值。

利用数组的文件输入输出

1. 将数组以二进制格式保存到磁盘

np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的。

 

import numpy as np
arr=np.arange(10)
np.save(some_array,arr)

如果文件路径末尾没有扩展名.npy,则该扩展名会自动加上。然后就可以通过np.load读取磁盘上数组:

print(np.load(some_array.npy))
#输出[0 1 2 3 4 5 6 7 8 9]

为了方便看到文件生成所以使用的是pycharm编写,需要注意的是使用np.load传入的文件名必须带后缀.npy;通过np.savez可以将多个数组保存到一个压缩文件中,将数组以关键字参数的形式传入即可。

np.savez(array_archive.npz,a=arr,b=arr)

加载.npz文件时,会得到一个类似字典的对象,该对象将各个数组进行延迟加载:

arch=np.load(array_archive.npz)
print(arch[b])
#结果[0 1 2 3 4 5 6 7 8 9]

 2.存取文本文件

从文件中加载文本是一个非常标准的任务。我们需要用np.loadtxt或更专门化的np.genfromtxt将数据加载到普通的numpy数组中。

这些函数都有许多选项可以使用:指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等。

arr=np.array([[1,2,3],[2,3,4],[3,4,5]])
np.savetxt(array_ex.txt,X=arr,delimiter=,)

将会生成一个文本array_ex.txt文件,相反执行np.loadtxt可以能读取文本

print(np.loadtxt(array_ex.txt,delimiter=,))
#返回结果:
[[1. 2. 3.]
 [2. 3. 4.]
 [3. 4. 5.]]

 

以上是关于利用数组的的文件输入输出的主要内容,如果未能解决你的问题,请参考以下文章

c语言利用数组指针方法 输入五个数字求出最小值 将最小值和数组第一个数字互换位置 输出数组

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

输入一个任意位数的的整数, 从个位开始输出每一位的数

利用go语言实现求数组交集的算法

利用c语言数组验证?

为啥此代码片段返回意外结果?