【发布时间】:2017-07-29 12:54:06
【问题描述】:
我正在使用 django 构建一个 webapp,我处理大型 excel 文件(大约一百万行),我将其解析为哈希以加快计算和操作。我想缓存散列,但散列大小为 251mb,我认为 memcache 不允许您缓存如此大的变量。有人对我应该如何处理这个问题有任何建议吗?我也对缓存以外的方式持开放态度。
【问题讨论】:
-
将 Excel 文件解析为哈希以加快计算和操作?你能多说一点吗?
-
@Elmex80s 我有一堆函数要在需要快速查找才能执行的数据上运行。我有 company_id 和 parent_id 列,我可能需要查找所有具有相同 parent_id 的 company_id 并查看所有公司中的某些列是否匹配等,我会在 excel 文件的每一行上运行这些函数。
-
听起来很有趣,但为什么不用 xlrd 模块或 pandas 包将 Excel 文件加载到内存中呢? xlrd 模块将为您提供简单的列表,其中包含您可以自己重塑的值。 pandas 包将为您提供 DataFrames,这是一种非常强大的数据结构,可以处理像您这样的(非常大的)表。
-
我不知道有什么神奇的 Python 模块可以为您完成所有工作。因此我认为你必须自己编程。因此,您必须将临时数据存储在硬盘驱动器或内存中,并在每次请求时检查数据是否已经存在。接下来,您必须处理临时数据的限制。我会说你最多存储 1000 个中间结果。关于哈希,如果您的 100 MB 文件为您提供 + 250 MB 文件哈希,那么您应该更改一些内容。
-
为什么我的 hash 是 xlsx 文件大小的两倍我不知道,对不起。
标签: python django caching hash python-3.5