使用pickle存储和读取数据

使用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)

你可能感兴趣的:(python)