一、保存数据到文本文件
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函数还允许将文件保存到压缩文件中。在保存数组之前,必须在".gz"
(或"+gzip"
)或".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函数的使用方法非常有用。