gpt4 book ai didi

python - 在 Python 中存储和访问大型(~10 GB)列表的方法?

转载 作者:太空狗 更新时间:2023-10-29 18:26:57 24 4
gpt4 key购买 nike

我有一大组字符串用于自然语言处理研究,我想要一种将其存储在 Python 中的好方法。

我可以使用 pickle,但是将整个列表加载到内存中是不可能的(我相信),因为它大约有 10 GB,而且我没有那么多主内存。目前我将列表存储在 shelve 库中... shelve 由字符串“0”、“1”、...、“n”索引,这有点笨拙。

是否有更好的方法将此类对象存储在单个文件中,并且仍然可以随机(大概)访问它?

最好的选择可能是将其拆分为多个列表。

谢谢!

最佳答案

根据您打算如何获取数据,SQLite3 可能是最佳方法。 SQLite3 在随机访问关系数据方面非常出色,但如果您的数据不是非常相关,它可能就没有那么大的意义。 (即使您只有一个“id”号,然后是您的字符串,我认为用于字符串底层存储的 SQLite3 可能很棒。)

如果您能想出某种机制以某种方式将您的字符串组合在一起,您就会使用它们(例如,如果您的某些句子具有隐含的宾语或主语,并且您想专门研究它们;或者根据字符串的来源,无论是正式的还是非正式的还是超非正式的)或类似的东西,然后您可以通过分区显着减少数据的“工作集”,并可能大大提高研究的吞吐量。但是,如果您打算真正随机访问,那么一大堆可能是最好的。

希望这对您有所帮助。

关于python - 在 Python 中存储和访问大型(~10 GB)列表的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4778089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com