【问题标题】:How to hold a python list containing millions of dictionaries in RAM at once?如何一次在 RAM 中保存一个包含数百万个字典的 python 列表?
【发布时间】:2019-12-12 20:28:06
【问题描述】:

我将巨大的 csv 文件存储为字典列表,如下所示:

dictlist={ 1 : { 'col-1' : 'data-1','col-2' : 'data-2','col-3' : 'data-3'},
           2 : { 'col-1' : 'data-1','col-2' : 'data-2','col-3' : 'data-3'}}

其中键 1 和 2 是行号,值是 csv 文件中的数据。

我的问题是我需要转换具有超过 400 万行的 csv 文件。但是对于如此大量的数据,我的数据结构无法放入内存 (RAM)。

谁能帮我找到一个解决方案,比如将数据结构存储到磁盘或其他东西。我需要一次使用整个数据结构。

提前致谢

【问题讨论】:

  • 这不是有效的语法。使用列表[{...}, {...}] 或字典{1: {...}, 2: {...}}
  • 您可以拆分文件并尝试使用 dask 之类的工具来读取和处理块中的数据。
  • 谢谢我通过使用disklist库解决了这个问题。
  • @p.durgashankar 您可以添加一个 sn-p 代码,帮助您为面临相同问题的任何人解决问题。

标签: python dictionary large-data


【解决方案1】:
  • 我已经通过使用 disklist 库解决了这个问题。
  • 首先需要使用 pip 安装 disklist 库(pip install disklist)
  • 之后您应该导入 disklist 并像 list (some_variable_name = disklist()) 一样使用它
  • disklist 与 python 中的 list 几乎相同。但它将存储在磁盘空间而不是 RAM 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 2012-03-06
    • 2019-03-17
    • 1970-01-01
    相关资源
    最近更新 更多