用最少的内存损耗在python中记录实时数据的最快方法是什么>

问题描述 投票:0回答:2

在循环的每一步中,我都有一些要最终保存到硬盘中的数据。

一种方法:

list = []
for i in range(1e10):
    list.append(numpy_array_i)

pickle.dump(list, open(self.save_path, "wb"), protocol=4)

但是我担心:1_我因为列表而耗尽了内存2_如果发生崩溃,所有数据都将丢失。因此,我还想到了一种实时保存数据的方法,例如:

file = make_new_csv_or_xlsx_file()
for i in range(1e10):
    file.write_in_a_new_line(numpy_array_i)

为此,我也担心它可能不会那么快,并且不确定最好的工具是什么。但是可能openpyxl是一个不错的选择。

在循环的每一步中,我都有一些数据要最终保存到硬盘中。一种方法:list = [] for range(1e10)中的i:list.append(numpy_array_i)pickle.dump(list,open(self ....

python database logging save bigdata
2个回答
0
投票

写入redis非常快。并且您可以在第二个过程中从redis中读取并写入磁盘


0
投票

我会尝试使用SQLite,因为它提供了磁盘上的永久存储(->没有数据丢失),但是它比您的问题中所示的写入文件要快,并且在数据不完整的情况下可以更轻松地查找数据来自上次运行。

© www.soinside.com 2019 - 2024. All rights reserved.