【问题标题】:Indexing CSV file contents in Python在 Python 中索引 CSV 文件内容
【发布时间】:2010-04-16 23:30:48
【问题描述】:

我有一个非常大的 CSV 文件,其中仅包含两个字段(id、url)。我想用 python 对 url 字段做一些索引,我知道有一些工具,比如 Whoosh 或 Pylucene。但我无法让这些例子起作用。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 索引是什么意思?

标签: python indexing full-text-indexing whoosh


【解决方案1】:

PyLucene 非常易于使用,但由于您尚未发布示例,我不确定您面临什么问题。

或者,当您只有 key:value 类型的数据时,可能比 Pylucene 更好的是 DB,例如 Berkeley DB(python bindings pybsddb)。它会像 python 字典一样工作,应该和 lucene 一样快,你可以试试。

【讨论】:

    【解决方案2】:

    file.csv 内容:

    a,b
    d,f
    g,h
    

    将所有内容加载到一个巨大的字典中的 Python 脚本:

    #Python 3.1
    giant_dict = {id.strip(): url.strip() for id, url in (line.split(',') for line in open('file.csv', 'r'))}
    
    print(giant_dict)
    {'a': 'b', 'd': 'f', 'g': 'h'}
    

    【讨论】:

    • 亲,你为什么要自己解析而不是使用CSV模块??
    • 问题是这个文件会超过5GB。所以我不能一次将它加载到内存中!
    • 你到底想做什么?您可以使用以下命令逐行读取文件:for line in open('file.csv')。另外,为什么不安装 9GB 或 RAM?
    • 这个大文件的 url 应该和另一个大文件比较,为了更快的访问我需要做一些索引。
    • @Hossein:请在问题中添加新事实——不要将新事实作为 cmets 添加到答案中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多