2016-11-21 10 views
0

申し訳ありませんので、csvファイルを取得してその中の値を読み取るコードが必要です(これまでのところ私はその部分を削除しています)。辞書、csvファイル、リストのご協力が必要

私が問題を抱えているのは、これらの値を持つリストを作成し、ほとんど再発生しない順序で並べ替えることです。重複値も存在しません。

は、ここで私が持っているものです。

import csv 
B = [] 
K = [] 
def readandprocess(name): 
with open(name, newline='') as csvf: 
    freader = csv.reader(csvf,delimiter=',',quotechar='"') 
    datasg = {} 
    artists = [] 



    for row in freader: 
     artist = row[2] 
     B.append(artist) 


    for artist in B: 
      c = B.count(artist) 
      K.append(artist + str(c)) 


    list(set(K)) 
    print(K) 

    #for row in freader: 
     #artist = row[2] 
     ###song = row[1] 
     #if artist == 'Rolling Stones': 
     # print('Rolling Stones title: ',row[1]) 
     #if artist not in datasg: 
     # datasg[artist] = [song] 
     #else: 
      #datasg[artist].append(song) 
    #for artist in datasg: 
     #print(artist, datasg[artist]) 
    print('--------------------------------------') 
    info = datasg.items() 
    # tosort = [(len(t[1]),t[0]) for t in info] 
    # info = sorted(tosort) 
    # print(info[-30:]) 
    # print(info) 

print(len(datasg)) # currently 0, populate at will #Number of keys in dictionary 
return datasg 


if __name__ == '__main__': 
    datasg = readandprocess('data/top1000.csv') 

答えて

0

Counterを使用してみてください。必要なアイテムがすべてリストに入ったら、カウンターを使用してmost_common(n)に電話して、nの最も一般的な要素を取得します。

+0

私のpythonは関数としてカウンタを認識しませんが、これを修正するには何をインポートする必要がありますか? –

+0

'コレクションからインポートカウンタ ' – Alex

+0

NVM私はそれを動作させました!あなたは命の恩人アレックスです! –

関連する問題