一、保存数据到文本文件
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函数的使用方法非常有用。