-4
movies = defaultdict(int)
for line in open('trial.txt', "r"):
    user,movie,rating,time = line.rstrip('\n').split('::')
    movies[movie] += 1

次の行では、理解できないエラーが常に発生します。

user, movie, rating,time = line.rstrip('\n').split('::')
ValueError: need more than 1 value to unpack

行はいつでも印刷できますが、実際には 4 つの部分があります。何が問題なのですか? ありがとう!

4

1 に答える 1

2

ファイルに空白行があるようです。このエラーを回避するには、それらをスキップするか、少なくとも解凍する値の数が正しいことを確認する必要があります。

movies = defaultdict(int)
for line in open('trial.txt', "r"):
    values = line.rstrip('\n').split('::')
    if len(values) == 4:
        user,movie,rating,time = values
        movies[movie] += 1
    else:
        print "Non-valid format: %s" % line
于 2013-03-10T04:47:52.660 に答える