有什么方法可以将NumPy数组转储为CSV文件吗?我有一个二维NumPy数组,需要将其转储为人类可读的格式。
numpy.savetxt
将一个数组保存到一个文本文件。
import numpy
a = numpy.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
numpy.savetxt("foo.csv", a, delimiter=",")
tofile
是一个方便的函数,可以做到这一点。
import numpy as np
a = np.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
a.tofile('foo.csv',sep=',',format='%10.5f')
man页面上有一些有用的说明。
这是一个用于快速存储数组数据的便利函数。 有关字节数和精度的信息会丢失,所以这个方法不是 对于打算归档数据或在不同编码的机器之间传输数据的文件来说,是一个好的选择。 编码方式不同的机器之间传输数据。这些问题中的一些可以 可以通过将数据输出为文本文件来克服,但要牺牲掉 速度和文件大小。
注意。这个函数不产生多行csv文件,它把所有东西都保存在一行中。
如果你想把你的numpy数组(例如your_array = np.array([[1,2], [3,4]])
)保存到一个单元格,你可以先用your_array.tolist()
进行转换。
然后用正常的方法保存到一个单元格,用delimiter=';'
来保存。
csv文件中的单元格将看起来像这样 [[1, 2], [2, 4]]
。
然后你可以像这样恢复你的数组。
your_array = np.array(ast.literal_eval(cell_string))
。