有没有办法将NumPy数组转储到CSV文件中? 我有一个2D NumPy数组,需要以人类可读的格式转储它。
#1楼
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')
手册页有一些有用的注释:
这是用于快速存储阵列数据的便利功能。 有关字节序和精度的信息会丢失,因此对于要在不同字节序的计算机之间归档数据或传输数据的文件,此方法不是一个好的选择。 这些问题中的一些可以通过将数据输出为文本文件来克服,而这是以速度和文件大小为代价的。
注意。 此功能不会产生多行的CSV文件,而是将所有内容保存到一行。
#2楼
如果要将numpy数组(例如your_array = np.array([[1,2],[3,4]])
)保存到一个单元格,则可以先使用your_array.tolist()
转换。
然后使用delimiter=';'
将其以普通方式保存到一个单元格中delimiter=';'
并且csv文件中的单元格看起来像这样[[1, 2], [2, 4]]
然后,您可以像这样恢复数组: your_array = np.array(ast.literal_eval(cell_string))
#3楼
将记录数组写为带有标题的CSV文件需要更多的工作。
本示例读取标题为第一行的CSV文件,然后写入相同的文件。