python学习笔记1——文件存储与读取
python学习笔记1——文件存储与读取
anaconda的文件存储位置
使用numpy.save()函数时,其默认的本地地址如下(其实我也不太懂,两个文件里面都有文件)
Spyder的py文件默认存在了.spyder-py3里面,但是使用numpy.save()函数时,其默认地址位置在用户名文件夹下。
-
Spyder
C:\Users\用户名.spyder-py3
C:\Users\用户名
Notebook的py文件默认存在了.ipynb_checkpoints里,但用户名文件夹下也有,难道它是都存了???不解,且做且看~
-
Jupyter Notebook
C:\Users\用户名.ipynb_checkpoints
C:\Users\用户名
二进制数据存储
语法格式:
np.save(file,arr,allow_pickle=True,fix_imports=True)
import numpy as np
arr = np.arange(100).reshape(10,10) #创建一个数组
np.save("D:/Python/代码\save_arr",arr) #保存数组
np.save("../save_arr",arr)
print('保存的数组为:\n',arr)
多个数组存储
#多个数组存储
arr1=np.array([[1,2,3],[4,5,6]])
arr2=np.arange(0,1.0,0.1)
#np.savez('../tmp/savez_arr',arr1,arr2)
np.savez('D:/Python/代码/savez_arr',arr1,arr2)
print('保存的数组1为:',arr1)
print('保存的数组2为:',arr2)
二进制文件读取
#读取含有单个数组的文件
loaded_data =np.load("D:/Python/代码\save_arr.npy")
print('读取的数组为:\n',loaded_data)
#读取含有多个数组的文件
loaded_data1 = np.load("D:/Python/代码\savez_arr.npz")
print('读取的数组1为:\n',loaded_data1['arr_0'])
print('读取的数组1为:\n',loaded_data1['arr_1'])
文本格式数据的存储与读取
文本格式数据的存储与读取(如TXT或CSV格式):
常用函数:savetxt函数、loadtxt函数、genfromtxt函数
arr=np.arange(0,12,0.5).reshape(4,-1)
print('创建的数组为:',arr)
#fmt = "%d"表示保存为整数
#np.savetxt("../tmp/arr.txt",arr,fmt="%d",delimiter=",")
np.savetxt("D:/Python/代码/arr.txt",arr,fmt="%d",delimiter=",")
#读入的时候也需要指定逗号分隔
#loaded_data = np.loadtxt("../tmp/arr.txt",delimiter=",")
loaded_data = np.loadtxt("D:/Python/代码/arr.txt",delimiter=",")
print('读取的数组为:',loaded_data)
genfromtxt函数和loadtxt函数相似,不过它面向的是结构化数组和缺失数据。
#使用genfromtxt函数读取数组
#loaded_data = np.genfromtxt("../tmp/arr.txt",delimiter=",")
loaded_data = np.genfromtxt("D:/Python/代码/arr.txt",delimiter=",")
print('genfromtxt读取的数组为:',loaded_data)