2015-07-11 79 views
4

在下面的腳本中,有沒有辦法找出總共有多少個「塊」?大熊貓的總塊數

import pandas as pd 
import numpy as np 

data = pd.read_csv('data.txt', delimiter = ',', chunksize = 50000) 

for chunk in data: 
    print(chunk) 

使用len(chunk)只會給我每個人有多少。

有沒有辦法做到這一點,而無需手動添加迭代?

+1

簡答題,沒有。如果你想找出文件中有多少行,有更簡單的方法,'wc -l data.txt' –

+0

@PadraicCunningham這就是我的想法。謝謝。 – Leb

回答

4

CSV是基於行的,它不允許進程知道它有多少行,直到它被全部掃描完爲止。

很小的掃描是必要的,但是,假設CSV文件以及形成:

sum(1 for row in open('data.txt', 'r')) 

這可能證明你需要提前計算有多少塊有情況下非常有用。一個完整的CSV閱讀器對此是一個矯枉過正。上面的行具有非常低的內存要求,並且最少的解析。