0
我試圖運行我自己的統計模型,嘗試在我的幻想足球聯賽中獲得優勢,並且遇到了創建字典數據結構的麻煩。我的數據看起來像這樣。嵌套字典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 2014-08-29 03:24:54
如果你要處理這樣的表格數據,你應該檢查['pandas'](http://pandas.pydata.org);例如,你可以通過'df = pd.read_csv(「ff.dat」,sep =「\ t」)從一個文件計算碼/ df [「Yards/Attempt」] = df [「Yard」]/df [「Att」]'等,你可以很容易地連接多個文件。花費更多時間琢磨一下數字,找出誰來接受免責聲明,以及花更少的時間來編寫樣板文件。 – DSM 2014-08-29 03:37:19