我有一個100K記錄的主列表,每個記錄都屬於公司編號。我試圖通過選擇每個公司編號2來創建一個樣本數據。 「def公司」貫穿數據並返回唯一的公司編號和每公司編號計數。從文件中獲取N行
我的腳本只輸出列表中第一個公司的2條記錄並停止,我怎樣才能得到每個公司的循環輸出2?
數據看起來像這樣(列[0]是該公司數):
'54', '000054', '14571', ' 0000010023'
'54', '000054', '14571', ' 0000010033'
'4', '000054', '14571', ' 0000010024'
'4', '000054', '14571', ' 0000010023'
'433', '000054', '14571', ' 000001023423'
'433', '000054', '14571', ' 00000101563'
'433', '000054', '14571', ' 00000100234523'
'433', '000054', '14571', ' 00000100657823'
'433', '000054', '14571', ' 0000010SDF023'
'78', '000054', '14571', ' 000001002PIWEUR3'
'78', '000054', '14571', ' 00000100J23'
'78', '000054', '14571', ' 00000100222223'
'78', '000054', '14571', ' 000001002445'
'12', '000054', '14571', ' 0000010256'
'12', '000054', '14571', ' 000001005666'
import os
import sys
import csv
from collections import Counter
masterlist = open('P:/20140408.txt', 'rb')
data = csv.reader(masterlist, delimiter=",", quotechar='"')
def Company():
masterlist.seek(0)
cnt = Counter()
for row in data:
cnt[row[0]] +=1
return cnt
def maintest():
companylist = Company().keys()
masterlist.seek(0)
s = 2
for rows in data:
if rows[0] in companylist and s > 0:
print rows
s -=1
maintest()
非常感謝!!!此代碼完美無瑕,並清理了我的腳本。 –