2011-12-15 193 views
0

在下面的代碼中,行[8],行[9],...,行[27]都包含許多數字。我需要行[8],行[9]等中的所有數字作爲單獨的列表附加到stat_by_symbol中的stat_by_symbol中。但是,下面的代碼在單個列表中的所有行之後附加了所有數字。將多個列表追加到Python中的單個列表中

至於什麼,我需要一個例子,如果我叫stat_by_symbol [「AAA」] [0],那麼我應該得到的號碼列表從行拉[8]。

我該如何解決這個問題?非常感謝。

編輯進一步澄清。我附上了csv的快照。我需要stat_by_symbol ['aaa'] [0]給我列i下的所有數字。同樣,索引爲1的stat_by_symbol會給我列j下的所有數字。

enter image description here

stat_by_symbol = {} 
with open('zzdata.csv', 'rb') as f: 
    reader = csv.reader(f) 
    reader.next() 
    for row in reader: 
     for symbol in symbols:#symbols in a list 
      if symbol in row: 
       for i in range(8, 28): 
        stat_by_symbol.setdefault(symbol, []).append(row[i]) 
+0

你肯定行列出的名單? – 2011-12-15 08:47:45

+0

@johnjdc - 爲什麼在'with'之後保留unindenting塊? – eumiro 2011-12-15 08:51:18

回答

0
stat_by_symbol = dict((symbol, [[] for i in xrange(8,28)]) for symbol in symbols) 
with open('zzdata.csv', 'rb') as f: 
    reader = csv.reader(f) 
    reader.next() 
    for row in reader: 
     for symbol, symbol_list in stat_by_symbol.iteritems(): 
      if symbol in row: 
       for symbol_list2, cell in zip(symbol_list, row[8:28]): 
        symbol_list2.append(cell) 
相關問題