Mac 用户学Python——Day5 变量保存

Mac 用户学Python——Day5 变量保存

python可以把结果保存txt、excel、word等等,但是这些都是最终结果,如果要想保存变量,维持变量的数据结构(比如字典、列表、或者更复杂的Data Frame等等)咋办?有很多种方案,各有利弊。

一、保存为pickle格式

  1. pickle是python官方自带的,不用安装,直接引入:import pickle
  2. 好处:可以完整保存各类数据格式,包括一些很特殊的,如DataFrame等等
  3. 坏处:这个格式是python专用,通用性不好
  4. 上代码:
    (1) 储存为file.pkl
import pickle
pickle.dump(变量名, open('file.pkl', 'wb'))

(2)读取file.pkl

import pickle
file = open('file.pkl','rb')
data = pickle.load(file)

特别注意:这里一定要先open一下,不然报错

二、保存为json格式

  1. 好处:通用性好,文本文件,可读性强,可以保存简单的列表、字典等数据
  2. 坏处:无法保存复杂的格式,如Data Frame
  3. 上代码
    存储到file.json:
import json
a=[1,2,3]
f = open('file.json','w')
json.dump(a, f)
f.close()

读取file.json:

import json
f = open('file.json')
data = json.load(f)
f.close()

三、保存为.mat格式

  1. 好处:这个格式和matlab通用
  2. 坏处:不能保存列表,只能保存字典
from scipy.io import savemat

dictdata = {'a': a}
savemat('file.mat', dictdata)

四、保存为Excel/txt等

  1. 好处:可读性好
  2. 坏处:不能保留变量数据结构

五、 参考文章

  1. https://zhuanlan.zhihu.com/p/544792469
  2. https://blog.csdn.net/m0_47396944/article/details/118930820?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1-118930820-blog-110050931.pc_relevant_vip_default&spm=1001.2101.3001.4242.1&utm_relevant_index=4
  3. https://docs.python.org/3/library/pickle.html

你可能感兴趣的:(python,开发语言,macos,json)