python - 将 np.savetxt 和 np.loadtxt 与多维数组一起使用

标签 python arrays file-io numpy multidimensional-array

将多维数组 ( ndim > 2 ) 存储到文件并使用 np.savetxt 以相同格式(维度)检索它的通用方法是什么?和 np.loadtxt

我担心的是,如果我在存储时给出任何定界符,我是否需要在检索时进行一些处理?此外,处理 float 并以相同的格式检索它有点棘手。

我在文档中看到了很多简单的例子。我只是好奇是否最简单的存储 np.savetxt(filename, array)可以简单地使用 array = np.loadtxt(filename) 检索还是不是。

最佳答案

如果需要在文本文件中保存多维数组可以使用header参数来保存原始数组形状:

import numpy as np

a = np.random.random((2, 3, 4, 5))

header = ','.join(map(str, a.shape))
np.savetxt('test.txt', a.reshape(-1, a.shape[-1]), header=header,
           delimiter=',')

要加载这个数组,你可以这样做:

with open('test.txt') as f:
    shape = map(int, f.next()[1:].split(','))
    b = np.genfromtxt(f, delimiter=',').reshape(shape)

关于python - 将 np.savetxt 和 np.loadtxt 与多维数组一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26234263/

相关文章:

Python 快速检查列表是否是一个数学集合

php - 通过组合值将多维数组转换为单个数组

java - 在文件中写入和读取 ListMultimap<Object, Object>

node.js - node js : does fs. 重命名覆盖文件,如果已经存在

c# - 如何保证多个文件IO操作成功?

python - 导入 vs __import__() vs importlib.import_module()?

Python3 ftplib 无法获取更大的二进制文件

python - 如何在python中以唯一文件名将多个图形保存在目录中?

javascript - 如何在不硬编码的情况下解决数组问题?

java - 尝试对要显示在表行中的数组进行排序