我試圖用numpy.savetxt保存numpy的矩陣(NX3,float64)到一個txt文件:numpy.savetxt在python產生的格式不匹配錯誤3.5
np.savetxt(f, mat, fmt='%.5f', delimiter=' ')
這條線在Python 2.7工作,但是在Python 3.5,我發現了以下錯誤:
TypeError: Mismatch between array dtype ('float64') and format specifier ('%.5f %.5f %.5f')
當我步入savetxt代碼,印刷在catch塊中的錯誤(traceback.format_exc())(numpy.lib .npyio,行1158),錯誤是完全不同的:
TypeError: write() argument must be str, not bytes
而產生的異常代碼行如下:
fh.write(asbytes(format % tuple(row) + newline))
我試圖刪除asbytes,它似乎解決這個錯誤。這是一個在numpy中的錯誤?
謝謝!有效!我正在給這個文件寫文本,所以首先我需要用'w'打開它,然後用'ab'重新打開它。 –
您可以使用'b'one two three''創建字符串。 – hpaulj
寫入「io.StringIO」對象時發生同樣的錯誤。在這種情況下,解決方案是用'io.BytesIO'對象替換它。 – SiggyF