2016-04-08 25 views
0

Lütfen aşağıdaki csv dosyasının ilk 2 satırına bir göz atın. İlk satır alan adlarıdır ve ikinci satır gerçek verinin ilk satırıdır.Döngü İterasyon için Python Beklenen Siparişte Olmaz

İlk satırda yinelemeye çalışıyorum ve değerleri orijinal düzeninde bir diziye depolarım.

age workclass fnlwgt education education-num marital-status occupation  relationship  race sex capital-gain capital-loss hours-per-week native-country label 
59 Private 307423 9th    5  Never-married Other-service Not-in-family Black Male 0    0     50   United-States 0 



reader = csv.DictReader(csvfile) 
    train_x = [] 
    train_y = [] 
    dic = {} 

    for row in reader: 

     row_x = [] 

     for title in row.keys(): 
      l = ['workclass','education','marital-status','occupation', 'relationship', 'race', 'sex', 'native-country'] 
      if title in l: 
       value = get_dict[title][row[title]] 
       row_x.append(value) 
      elif title == 'label': 
       train_y.append(float(row['label'])) 
      else: 
       row_x.append(float(row[title])) 


     train_x.append(row_x) 

Bu

ilk satırı için elde ediyoruz:

[3, 5, 59.0, 0.0, 0, 50.0, 4, 35, 5.0, 0.0, 8, 307423,0, 4, 3]

Gördüğünüz gibi, alanların sıralaması yanlış.

age workclass fnlwgt education education-num marital-status occupation  relationship  race sex capital-gain capital-loss hours-per-week native-country label 
59 Private 307423 9th    5  Never-married Other-service Not-in-family Black Male 0    0     50   United-States 0 

cevap

2

Sen okuyacak bir DictReader kullanarak csv, okuduğunuz:

csv hatları yanı kolaylık olması açısından burada kopyalanır (... Özel 3'tür, Amerika Birleşik Devletleri 35 olduğunu unutmayın) CSV içine .. bir dict. Sözlükteki anahtarların sabit bir sırası yok. Temel okuyucu yöntemiyle

https://docs.python.org/2/library/csv.html#csv.reader

göz at