使用pickle存储和读取数据
特别鸣谢:天津师范大学王树义老师的B站相关教学
# pickle可以将不同格式的对象以文件的形式存放在磁盘上,并以最大程度保持数据原貌的形式进行读取
"""
使用pickle的现实原因:
1. 现实情况中,我们要求数据可以分开存储和读取,便于应对中断与连续、分工与合作等情况。
(就像腌黄瓜一样,我们把黄瓜切成一小块一小块的,然后存到罐子里,等需要黄瓜的时候,再从罐子里取);
2. 其他存储方式(如CSV\JSON\SQLite)存在一些问题。
(如存储时包含表头,取出来用的时候忘记取表头,结果导致数据错乱;
如存储时使用gbk格式存储数据,读取时用utf-8格式读取,结果导致编码错乱...)
"""
# 例子:用pickle存储和读取表格数据及其他数值型数据和字符串数据
# 原数据以csv格式存储,先用pandas读取
import pandas as pd
df = pd.read_csv('BitcoinPrice.csv',encoding='gbk')
df.head()
# 单独定义一个数值型变量data,一个字符串数据string
data = int(2)
string = 'data description'
# 将Bitcoin_data\data\string全部用pickle存储到all_data文件中
import pickle
with open ('all_data.pkl','wb') as f:
pickle.dump([df,data,string],f)
# 用pickle读取all_data文件中的数据
with open('all_data.pkl','rb') as f:
[df,data,string] = pickle.load(f)