如何使用 numpy.savetxt 函数将此数组保存到指定的文件夹?



我正在尝试保存此数组,然后将其移动到一个文件夹中,但它也不允许我,因为它不是我认为正确的类型。我似乎无法弄清楚,所以任何帮助将不胜感激。这是我尝试使用的代码。我定义的location变量是保存后要将其移动到的文件夹的路径。

我这样做了,当数组只有一个维度(如果b = np.array([1,2,3,4,5](时它有效,但是如果我在前面添加另一个元素,就像我在我发布的代码中所做的那样,它将不起作用。

import numpy as np
import shutil
b = [5,np.array([1,2,2,3,6,7])]
np.savetxt('hi',b)
shutil.move('hi',location)

我收到以下错误消息:

Mismatch between array dtype ('object') and format specifier ('%.18e')

Savetxt只保存类似数组的对象。因此,当 b 是原始数组时,它将正常工作。在上面的代码中,您将 b 设置为包含数字 5 和数组的列表。

我不太确定您希望这五个最终在哪里结束,但您需要将其插入到实际数组中。您可能希望使用 insert 方法将值放在数组的开头,例如

b = np.insert(b,0,5) 

我还可以补充一点,您可以将文件直接保存到您想要的位置,这将消除对shutil的需要。只需指定要保存文件的位置的路径,该路径在程序运行的位置下有效,您应该很高兴。

最新更新