如何将多组二维坐标数组存入同一文件并添加分隔符?
解决方案
方法1:存入TXT文件并手动添加分隔符
直接通过文件对象依次写入数组和分隔符,完全匹配你想要的格式:
import numpy as np array1 = np.random.rand(2, 2) array2 = np.random.rand(2, 2) # 写入文件 with open('combined.txt', 'w') as f: # 按指定精度写入第一个数组(和示例格式一致) np.savetxt(f, array1, fmt='%.18e') # 写入分隔符 f.write('%%%%%\n') # 写入第二个数组 np.savetxt(f, array2, fmt='%.18e')
读取该文件的方法
按分隔符拆分内容后解析为数组:
with open('combined.txt', 'r') as f: parts = f.read().split('%%%%%\n') array1 = np.loadtxt(parts[0].splitlines()) array2 = np.loadtxt(parts[1].splitlines())
方法2:使用NumPy专用的NPZ格式(更高效)
如果不需要可读的文本格式,NPZ是更适合的选择——它是NumPy的二进制存储格式,无需手动处理分隔符,存储和读取效率更高:
# 保存多个数组到NPZ文件(可自定义数组名称) np.savez('arrays.npz', arr1=array1, arr2=array2) # 读取文件 loaded = np.load('arrays.npz') array1 = loaded['arr1'] array2 = loaded['arr2']
这种方法不用关心分隔符的问题,直接通过数组名称调用,适合批量存储NumPy数组的场景。
内容的提问来源于stack exchange,提问作者Gtk_
相关产品推荐
相关产品推荐

