如何在python中保存列表?

时间:2015-06-30 13:05:02

标签: python json list save pickle

我有一个由许多矩阵组成的列表。 我会保存此列表,以便在另一个脚本中读取它。 这是我的代码保存我的列表W:

with open("My_rotation_matrix.bin", "wb") as output:
    pickle.dump(W, output)

然后在另一个脚本中阅读我的列表:

with open("My_rotation_matrix.bin", "rb") as data:
W = pickle.load(data)

问题是保存的My_rotation_matrix.bin很大(1.4 GB),当我读到我的列表时,我必须等待将近5分钟。 有没有更快的方法来保存/读取python中的列表?例如使用JSON? 谢谢!

1 个答案:

答案 0 :(得分:1)

我的建议是你是否可以使用numpy。由于已经将数据放在列表中,您可以这样做:

    import numpy as np
    data = np.array(mylist)
    np.savez("Myfile", data)

现在可能需要一两分钟来保存此文件(取决于您的计算机上有多少RAM),但加载文件相当快(对于700 MB的文件只需几秒钟)。当你准备加载它时,你可以说

    a = np.load("Myfile.npz") #make sure you use the .npz!
    b = a['arr_0']