def load_asn1_data(filename='songdata.csv'):
import csv
reader=csv.reader(open(filename,'r'))
songs=[]
for r in reader:
songs.append(r)
return songs
def fastest_year(songs):
for row in songs:
title = row[0]
artist = row[1]
year = int(row[2])
tempo = float(row[3])
artist_hotness=float(row[4])
duration = float(row[5])
key = int(row[6])
loudness = float(row[7])
mode = int(row[8])
for speed in tempo:
if tempo[speed]==max(tempo):
print year[speed]
songs=load_asn1_data(filename='songdata.csv')
fastest_year(songs)
更新:最初のインデックスが行を参照するようになったので、各変数が対応するfor-loopを作成しました。行内の特定のインデックスの値これを実行しようとすると、新しいエラーが発生し、浮動オブジェクトは反復可能ではありません。私は多分浮動小数点のための最大の機能は動作しないと思ったが、私はそれをテストした。テンポクラスのすべての要素について、そのインデックスのテンポが最大の場合、そのテンポに関連付けられた年を印刷するように、最後のfor-loopを解釈するので、私は混乱します。Int引数は文字列でもリストでもない数でなければならないcsv
'songdata.csv'には何がありますか? – FamousJameous
'fastest_year(songs)'の前に 'print(songs [2])'を実行して出力を表示できますか? – Slam
曲[0]はどのように見えますか?つまり、データ形式を理解するために見てみましょう。最も可能性の高いsongs.csvは、列にメタデータを含む行です。つまり、曲[r]はcsvの行だけで、曲[r] [c]はcsvの特定のフィールドです。 – JCR000