下面是学习《Python金融大数据分析》一书第9章“输入/输出操作”的笔记。若想查看细节,可阅读原书~
文章目录
f=open(filepath)的一些符号释义
- “r” - Read - Default value. Opens a file for reading, error if the file does not exist 读取文件,如果文件不存在会报错
- “a” - Append - Opens a file for appending, creates the file if it does not exist 向文件后添加内容,如果文件不存在会自动创建一个
- “w” - Write - Opens a file for writing, creates the file if it does not exist 写入文件,如果文件不存在会自动创建,写入时会覆盖之前的内容
- “x” - Create - Creates the specified file, returns an error if the file exists 创建文件,如果文件存在会报错
- “t” - Text - Default value. Text mode 适用于文本
- “b” - Binary - Binary mode (e.g. images) 适用于图像
Python基本I/O
Pickle
将python对象写入磁盘,办法之一是使用pickle模块,这个模块可以序列化大部分Python对象。
import pickle
import numpy as np
from random import gauss
#导入高斯生成正态分布随机数
a=[gauss(1.5,2) for i in range(1000000)]
'''
存储单个对象
'''
#设置要保存的路径
path=‘’
#为二进制模式(wb)打开文件
pkl_file=open(path+'data.pkl','wb')
#序列化对象a,并将其保存到文件
pickle.dump(a, pkl_file)
#关闭文件
pkl_file.close()
'''
读取单个对象
'''
#为二进制读模式(rb)打开文件
pkl_file=open(path+'data.pkl','rb')
#从磁盘读取对象并反序列化
b=pickle.load(pkl_file)
'''
比较a和b是否相同
'''
np.allclose(np.array(a),np.array(b)) #True、
'''
存储多个对象
'''
x=np.array(a)
y=np.array(a)**2
#为二进制模式(wb)打开文件
pkl_file=open(path+'data.pkl','wb')
#保存为字典格式
pickle.dump({
'x':x,'y':y}, pkl_file)
#关闭文件
pkl_file.close()
'''
读取多个对象
'''
#为二进制读模式(rb)打开文件
pkl_file=open(path+'data.pkl','rb')
#从磁盘读取对象并反序列化
data=pickle.load(pkl_file)
pkl.close