【问题标题】:Memory being consumed while reading json files读取 json 文件时消耗的内存
【发布时间】:2019-03-27 01:30:25
【问题描述】:

我正在尝试读取几个 json 文件并将它们附加到数据帧上。 这样做会消耗我的整个系统内存,这会减慢所有进程。

我发现 pd.read_json() 会复制每个 json 文件并将其存储在内存中。我正在尝试从内存中删除这些数据帧。执行中是否有问题

def read_json(filename):
file = []
start = time.time()
for i in filename:
    x = pd.read_json(i, lines=True)
    file.append(x)
    del x
data = pd.concat(file, axis=0, ignore_index=True)
end = time.time()
print(end - start)
return(data)

如何删除数据框。

如果它们被删除而不是导致我失忆的原因

【问题讨论】:

  • Python 内存分配是自动的。通过删除一个对象,您并没有删除与之关联的内存,最终将由垃圾收集器处理它。看看docs.python.org/3.7/c-api/memory.html
  • 我希望他们得到垃圾,因为我不断地获取数据

标签: python json dataframe memory


【解决方案1】:

您可以强制垃圾收集器释放未引用的内存:

import gc
gc.collect()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多