【问题标题】:Searching a large csv搜索大型 csv
【发布时间】:2018-07-26 20:46:31
【问题描述】:

我有一个大约 1m 行的 csv 参考数据文件。我有一个 3m 行的 csv 数据文件。我需要对 3m 行中的每一行执行参考数据查找到 1m 行 csv 文件中。

由于各种原因,我受限于 python 和 cvs。我试图在内存中的熊猫中有 1m 行表,但整个过程非常缓慢。

有人可以推荐一种替代方法吗?

【问题讨论】:

  • 请提供更多代码和示例数据
  • “各种原因”听起来像是功课。你可以做一行阅读。它会很慢,但它会起作用,而且时间不受限制。
  • 啊。也许我不够清楚。对不起。所以我正在做一行阅读。我在每一行上执行四个函数。除了参考数据查找之外,所有这些都运行得非常快。参考数据查找是从 panda 中检索 1 个值。
  • 代码会很有帮助。你只需要在一堆中找到一行?
  • 将 csv 转储到 sqlite 数据库中,然后根据需要进行查询

标签: python pandas


【解决方案1】:

正如我上面提到的,解决此类问题的一个好方法是将 CSV 转储到 sqlite db 中,然后根据需要进行查询:)

【讨论】:

    【解决方案2】:

    这是一个想法。

    import csv
    # Asks for search criteria from user
    search_parts = input("Enter search criteria:\n").split(",")
    # Opens csv data file
    file = csv.reader(open("C:\\your_path_here\\test.csv"))
    # Go over each row and print it if it contains user input.
    for row in file:
        if all([x in row for x in search_parts]):
            print(row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多