我需要在python中获取大文件(数十万行)的行数.记忆和时间方面最有效的方法是什么?
目前我这样做:
def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1
有可能做得更好吗?
我正在使用python(Django Framework)来读取CSV文件.如您所见,我只从这个CSV中拉出2行.我一直想做的是在变量中存储CSV的总行数.
如何获得总行数?
file = object.myfilePath
fileObject = csv.reader(file)
for i in range(2):
    data.append(fileObject.next()) 
我试过了:
len(fileObject)
fileObject.length
我正在使用大量CSV文件,每个文件包含大量行。我的目标是逐行获取数据,然后使用Python将其写入数据库。但是,因为有大量数据,所以我想跟踪已写入的数据量。为此,我计算了排队的文件数量,并在文件完成时继续添加一个。
我想对CSV文件执行类似的操作,并显示我所在的行以及总共有多少行(例如:)Currently on row 1 of X。我可以很容易地从第一行开始,然后执行以下操作:currentRow += 1,但是我不确定如何通过耗时的阅读行来获得总计。
另外,由于我的CSV文件都存储在zip归档文件中,因此我目前正在使用ZipFile模块读取它们,如下所示:
#The Zip archive and the csv files share the same name
with zipArchive.open(fileName[:-4] + '.csv', 'r') as csvFile:
    lines = (line.decode('ascii') for line in csvFile)
    currentRow = 1
    for row in csv.reader(lines):
        print(row)
        currentRow += 1
关于如何快速获取CSV文件总行数的任何想法?