【发布时间】:2019-09-03 15:35:36
【问题描述】:
我有大约 50GB 的文件夹,里面装满了文件。每个文件由一行又一行的 JSON 数据组成,在这个 JSON 结构中是一个user_id 的字段。
我需要计算所有文件中唯一用户 ID 的数量(并且只需要总数)。计算这些的最节省内存和相对快速的方法是什么?
当然,将所有内容加载到一个巨大的列表中可能不是最佳选择。我尝试了熊猫,但花了很长时间。然后我尝试将 ID 简单地写入文本文件,但我想我会发现我是否可能遗漏了一些更简单的东西。
【问题讨论】:
-
您是否尝试过使用
set而不是list?这可能是最有效的方式... -
一个集合可能不比列表更适合内存,尽管查找当然更快。由于唯一性限制,这不是上面的重复 - 它不像只是逐行阅读那么简单。
-
不知道合不合适
-
然而列表占用更少的内存(虽然它们很慢)
标签: python