【发布时间】:2019-01-30 16:25:45
【问题描述】:
我们制作了一个图像识别 API,它接受图像 URL 并响应图像描述。这个过程大约需要 5-20 秒。 我有一个巨大的 CSV 文件,其中包含从不同来源抓取的 200+ 百万行图像 URL。我发现 CSV 文件具有来自不同来源的重复图像 URL。所以我不需要将所有 URL 发送到图像识别 API,我只需将唯一 URL 发送到 API,但我需要将 API 的响应填充到所有行。
我以 100K 行的块读取 CSV 文件并创建了一组唯一的图像 URL,并在 API 中处理它们,然后再次将结果填充回 CSV 文件。但它最终出现了内存问题(16 GB RAM),我无法创建一组具有 200+ 百万行的唯一图像 URL。
有什么建议吗?
【问题讨论】:
-
您是否有理由坚持使用 CSV 而不是使用可以设置唯一性限制的数据库?运行搜索而不是扫描整个 CSV 也会更有效
-
是的,我同意它从数据库中处理数据比从 CSV 文件中轻松处理数据。但他们向我提供了 CSV 文件并进行处理。
-
使用外部(内存不足)方法进行排序。然后删除重复项是微不足道的,因为它们将彼此相邻。
-
好的,但是您可以将其放入 SQLite 数据库或其他东西中。这具有最少的设置
标签: python pandas csv dataframe duplicates