我有一个尺寸为 1000*30*150 的 numpy 数组。我正在尝试将其保存为 txt 文件。到目前为止我已经试过了
np.savetxt("test.txt", mydata, fmt='%.5f', delimiter=",")
#and
with open('test.txt', 'w') as f:
for row in mydata:
np.savetxt(f, row, delimiter=',', fmt='%.5f')
两种方法都给我错误
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/numpy/lib/npyio.py", line 1254, in savetxt
fh.write(asbytes(format % tuple(row) + newline))
TypeError: only length-1 arrays can be converted to Python scalars
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
np.savetxt("test.txt", train, fmt='%.5f', delimiter=",")
File "/usr/local/lib/python3.5/dist-packages/numpy/lib/npyio.py", line 1258, in savetxt
% (str(X.dtype), format))
TypeError: Mismatch between array dtype ('float64') and format specifier ('%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f,%.5f')
原文由 Test Test 发布,翻译遵循 CC BY-SA 4.0 许可协议
您没有提到将 3-d 数组写入文本文件的目的是什么,您将来会读回它,以及您在寻找什么格式,但这是一种可能性:
如果您阐明了目的,人们将能够提出更合适的解决方案。