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

Для следующей строки, всегда возникает ошибка, что я не понимаю:нужно больше, чем 1 значение для распаковки

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

Я всегда могу напечатать строку, и это действительно с 4 частями Что случилось? Спасибо!

+3

Вы проверили, нет ли линии? –

+1

Каков ваш входной файл? – ATOzTOA

+0

Я проверил, он не пуст. данные похожи: 1267 :: 47999 :: 0.5 :: 1188678492 изначально в .dat – Tony

ответ

2

Похоже, что в вашем файле есть пустые строки. Вы должны пропустить их, чтобы избежать этой ошибки, или, по крайней мере, проверить правильность количества значений, которые вы хотите распаковать:

+0

это круто! Спасибо большое. Я проверил набор данных и не нашел ничего пустого. Как вы могли это знать? Благодарю. – Tony

+1

@TonyGuangyuTong Рад, что это помогло, не стесняйтесь принять ответ, если он решил вашу проблему. –

Смежные вопросы