환상의 축구 리그에서 내 통계 모델을 사용하여 노력하고 있으며 사전의 데이터 구조를 만드는 데 어려움을 겪고 있습니다. 내 데이터는 다음과 같습니다.환상의 축구 데이터가 포함 된 중첩 사전 Python
Player Team G Att Yard TD Target Rec Yard TD FFPts FFpts/G
Adrian Peterson MIN 1 18 93 2 4 4 18 1 29.1 29.1
Reggie Bush DET 1 21 90 0 8 4 101 1 25.1 25.1
LeSean McCoy PHI 1 31 184 1 1 1 5 0 24.9 24.9
Joique Bell DET 1 6 25 2 6 5 67 0 21.2 21.2
Jamaal Charles KC 1 16 77 1 6 3 23 0 16.0 16.0
Shane Vereen NE 1 14 101 0 10 7 58 0 15.9 15.9
그리고 계절별로 매주 파일이 있습니다.
{'Adrian Peterson':
{'week1.txt':
{'Team':'MIN', 'G':'1','Att':'18'....}
}
{'week2.txt':
{'Team':'MIN', 'G':'1','Att':'20'....}
}
}
그러나 코드를 실행하면 매주 덮어 쓰며 그 이유를 알 수 없습니다.
코드 :
import os
def makeDict():
directory = os.listdir('.')
print directory
playerDict = {}
for item in directory:
if item != 'bayes.py' and item !='.DS_Store':
f = open(item)
headers = f.readline().split('\t')
for line in f:
stats = line.replace('\n','').split('\t')
statDict = {}
weekDict = {}
for i,stat in enumerate(stats):
if i ==0:
player = stat
else:
statDict[headers[i]] = stat
if i == len(stats)-1:
weekDict[item] = statDict
playerDict[player] = weekDict
return playerDict
print makeDict()
이 사전이 마지막 파일의 정보를 보유하고 있음을 끝납니다. 내가 도대체 뭘 잘못하고있는 겁니까?
입니다. [glob] (https://docs.python.org/2/library/glob.html)에서 파일을 디렉토리에서 가져 오는 것이 좋습니다. 그 큰 기능을 몇 개의 작은 기능으로 나누고 모든 기능을 호출하는 기능도 있습니다. – IanAuld
이렇게 테이블 형식의 데이터를 처리하려면 ['pandas'] (http://pandas.pydata.org)를 확인해야합니다. 예를 들어,'df = pd.read_csv ("ff.dat", sep = "\ t")에 의해 파일로부터 야드/시도를 계산할 수 있습니다; df [ "Yards/Attempt"] = df [ "Yard"]/df [ "Att"]'등, 여러 파일을 쉽게 연결할 수 있습니다. 철수하는 철사를 누가 고를 지 알아 내고 보일러 판을 쓰는 데 소비되는 시간을 줄이기 위해 시간을 더 많이 보냈다. – DSM