NumPy保存和导入文件
4.1 文件读写
NumPy可以方便的进行文件读写,如下面这种格式的文本文件:
# 使用np.fromfile从文本文件'a.data'读入数据
# 这里要设置参数sep = ' ',表示使用空白字符来分隔数据
# 空格或者回车都属于空白字符,读入的数据被转化成1维数组
d = np.fromfile('./tmp/a.data', sep = ' ')
d
array([6.320e-03, 1.800e+01, 2.310e+00, …, 3.969e+02, 7.880e+00, 1.190e+01])
4.2 文件保存
NumPy提供了save和load接口,直接将数组保存成文件(保存为.npy格式),或者从.npy文件中读取数组。
# 产生随机数组a
a = np.random.rand(3,3)
np.save('a.npy', a)
# 从磁盘文件'a.npy'读入数组
b = np.load('a.npy')
# 检查a和b的数值是否一样
check = (a == b).all()
check
True
代码合集:
import numpy as np
def func1():
a = np.random.rand(5, 6)
print(a)
# 保存到文件
np.save('a.npy', a)
print("load from a.npy")
# 从磁盘文件'a.npy'读入数组
b = np.load('a.npy')
print(b)
# 检查a和b的数值是否一样
eq = (a == b).all()
print(eq)
def func2():
test = """
0.00120575 0.74553547 0.5742171 0.83552394 0.53855398 0.21840941
0.79586954 0.24676152 0.76110212 0.80534747 0.71428627 0.01056567
0.52331622 0.83251779 0.06206029 0.97655398 0.79543266 0.31557202
0.9799087 0.22656183 0.13809514 0.02119197 0.42764316 0.52565371
0.68352345 0.04502251 0.58571298 0.76028754 0.71538631 0.10247957
"""
with open("a.data", "w+") as f:
f.write(test)
print("create file a.data")
# 使用np.fromfile从文本文件'a.data'读入数据
# 这里要设置参数sep = ' ',表示使用空白字符来分隔数据
# 空格或者回车都属于空白字符,读入的数据被转化成1维数组
d = np.fromfile("a.data", sep=' ')
print(d)
if __name__ == "__main__":
func1()
func2()