大型csv文件的Python重置循环

大型csv文件的Python重置循环,csv,for-loop,Csv,For Loop,我必须在一个大的csv文件上循环多次(用于循环),然后用seek(0)重置循环。我必须搜索此文件中另一个csv文件的一行。它工作了几次迭代,但后来开始变得非常缓慢,我有一种感觉,它在一段时间后挂断了。有更好的解决方案吗 我的代码如下所示: import csv CsvFile1 = 'path1' CsvFile2 = open('path2','rb') csv2 = csv.reader(CsvFile2, dialect = 'excel', delimiter

我必须在一个大的csv文件上循环多次(用于循环),然后用seek(0)重置循环。我必须搜索此文件中另一个csv文件的一行。它工作了几次迭代,但后来开始变得非常缓慢,我有一种感觉,它在一段时间后挂断了。有更好的解决方案吗

我的代码如下所示:

   import csv

   CsvFile1 = 'path1'
   CsvFile2 = open('path2','rb')
   csv2 = csv.reader(CsvFile2, dialect = 'excel', delimiter = ',')

    with open(CsvFile1,'rb') as CSV1:
        csv1 = csv.reader(CsvFile1, dialect = 'excel', delimiter = ',')
        for row1 in csv1:
            CsvFile2.seek(0)
            for row2 in csv2:
                if row1[3] == row2[3]:
                  #write row1 in another file

csv实际上有多大?您使用的是哪种编程语言?如果使用Linux,可以考虑将CSV文件分割成块——值得考虑的是,如果只需要搜索特定的行。或者简单地在linux中使用grep函数并将找到的行导入另一个文本文件。如果我没记错的话,该文件大约有70'000 KB。我使用的是python windows而不是linux。我必须将文件1中的几行(我有一些特定的条件)与文件2中的几行进行比较。为了确保找到所有需要重置的内容(无需转到文件的开头,只需返回一行即可)