首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有效搜索包含约1000条记录的档案?

有效搜索包含约1000条记录的档案?
EN

Stack Overflow用户
提问于 2014-03-07 08:38:50
回答 1查看 109关注 0票数 0

我很好奇,如何在(txt)包含大约的文件中搜索。一百万条记录。(我使用Python)你的第一步是什么?将每条记录加载到数组或其他结构中?根据记忆,我认为这太无效了(但我不是专家)。还是我应该对这个文件建立某种索引?你的意见呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 08:41:00

我的建议是将数据加载到数据库中(如mysql),对适当的列进行索引,然后使用它搜索数据。

虽然您可以用Python将其全部加载到内存中,但这绝不是搜索数据的最佳方式。使用索引,这将占用大量的繁重工作,并应提供相当快的搜索时间(只要您有体面的可索引列)。

如果要根据单个列的整个值查找记录(即不进行通配符搜索或匹配),则可以使用Python将这些值加载到内存中。我使用这种方法将超过3000万个事务记录加载到内存中,并基于事务ID进行搜索。这对我来说是一个更好的解决方案,因为这组数据在很少运行的任务中只使用一次,而且我只需要引用单个列的全部值。

下面是我如何实现这一目标的一个快速示例。

代码语言:javascript
复制
transactions = {}
with open("transactions") as f:
    for line in f:
        try:
            lineSplit=line.split(",")
            transactions[lineSplit[0]] = lineSplit[1]
        except:
            pass
if "transid" in transactions:
    print transactions["transid"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22245232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档