我不断地以numpy矩阵的形式接收新数据,需要将其附加到现有文件中。该文件的结构和数据类型是固定的,所以我需要python为我进行转换。在
对于单个矩阵,该方法适用于:
myArr = np.reshape(np.arange(15), (3,5))
myArr.tofile('bin_file.dat')
但是假设我想继续用越来越多的数组来附加现有文件,那么numpy.tofile
将覆盖它在文件中找到的任何内容,而不是追加。在
我发现我还可以继续这样做:
^{pr2}$它成功地附加到二进制文件。但另一方面,numpy.save
不存储原始二进制数据,但还保存了一个头(我假设),这使得文件无法被外国软件读取(我需要使用float32
)的原始二进制文件。在
用numpy.fromfile
读取文件的现有内容,追加我的数据并再次保存它不是一个选项,因为文件变得非常大,所有的I/O都要花很长时间才能处理。在
有没有类似于append
模式的numpy.tofile
?有没有其他的可能性我目前正在错过?在
可以附加到
tofile
文件:这将保存数组数据,而不保存形状或数据类型信息。因此加载必须指定
dtype
。任何重塑都取决于你。在相关问题 更多 >
编程相关推荐