一、保存數據到文本文件
numpy.savetxt函數將數組保存到txt文件中。它採用兩個必需的參數:文件名和數組。可選參數delimiter指定數組元素的分隔符,newline指定行之間的分隔符。默認情況下,delimiter為「 」,newline為「\n」。
import numpy as np
a = np.array([[1, 2], [3, 4]])
np.savetxt("test.txt", a)
b = np.array([[1, 2], [3, 4]])
np.savetxt("test1.txt", b, delimiter=",")
c = np.array([[1, 2], [3, 4]])
np.savetxt("test2.txt", c, delimiter=",", newline=";")
二、指定格式保存數據到文本文件
numpy.savetxt函數還可以使用fmt選項指定保存數據時的格式。它應該是一個格式字元串,其中包含格式控制字元,如%d,%f等。該選項可以是一個字元串,也可以是一個格式字元串的序列。
import numpy as np
a = np.array([[1, 2], [3, 4]])
np.savetxt("test.txt", a, fmt="%d")
b = np.array([[1.5, 2.5], [3.5, 4.5]])
np.savetxt("test1.txt", b, fmt="%0.2f")
c = np.array([[1, 2], [3, 4]])
np.savetxt("test2.txt", c, fmt=["%d", "%0.2f"])
三、寫入文件頭和腳註
numpy.savetxt函數允許將文本字元串寫入文件的頭和腳註中。分別使用header和footer選項指定。
import numpy as np
a = np.array([[1, 2], [3, 4]])
np.savetxt("test.txt", a, header="This is an array")
b = np.array([[1, 2], [3, 4]])
np.savetxt("test1.txt", b, header="This is an array", footer="End of file")
四、使用iterable對象保存數據到文本文件
numpy.savetxt函數不僅能接受ndarray對象,還能接受任何迭代器對象,如列表、元組等。在此過程中,numpy.savetxt會自動將迭代器中的每一項分別轉換為字元串。
import numpy as np
a = [1, 2, 3, 4, 5]
np.savetxt("test.txt", a, fmt="%d")
b = [(1, 2), (3, 4), (5, 6)]
np.savetxt("test1.txt", b, fmt="%d")
五、保存數據到壓縮文件
numpy.savetxt函數還允許將文件保存到壓縮文件中。在保存數組之前,必須在「+gzip」(或「.gz」)或「+bz2」(或「.bz2」)後綴中指定壓縮格式。
import numpy as np
a = np.array([[1, 2], [3, 4]])
np.savetxt("test.txt.gz", a, fmt="%d", delimiter=",")
六、其他選項
numpy.savetxt函數還有其他一些可選參數。
- comments:文本字元串,它將在文件的頭注中使用,默認為「#」
- encoding:指定文件進位,默認為「utf-8」
- newline:指定文本文件中使用的行分隔符,默認為「\n」
- header:文本字元串或序列,寫入文件的頭注
- footer:文本字元串或序列,寫入文件的章節附註
- fmt:格式字元串或序列,指定數組的格式
- delimiter:分隔符字元,默認為「 」
下面是一個使用其他選項的示例:
import numpy as np
a = np.array([[1, 2], [3, 4]])
np.savetxt("test.txt", a, fmt="%d", delimiter=",", comments="", encoding="utf-8")
七、總結
numpy.savetxt函數是一個非常實用的函數,可以將數組以多種方式保存到txt文件中。無論是使用默認選項還是其他選項,numpy.savetxt都可以幫助我們將數據保存到文件中。我們在實際工作中經常需要保存數據,因此掌握numpy.savetxt函數的使用方法非常有用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232255.html