ValueError: недостаточно значений для распаковки (ожидается 2, получено 1) при разбиении строки - PullRequest
0 голосов
/ 11 апреля 2020
with open("words_10percent.txt") as f:
   file_data = f.read()
word_frequency = {}
for line in file_data.split("\n"):
   word, frequency = line.split(",")
   word_frequency[word] = float(frequency)

В строке 5 появляется ошибка значения при попытке разбить строку.

Ответы [ 3 ]

1 голос
/ 11 апреля 2020

Этот код абсолютно правильный. Там нет ошибки. Снова проверьте ваш текстовый файл.

для демонстрационной цели, я добавляю четыре строки в файле 'words_10percent.txt' следующим образом:

Ram, 50.55
class, 45.88
black, 35.99
data, 35.60

и получаю следующий вывод:

Ram
 50.55
class
 45.88
black 
 35.99
data
 35.60
0 голосов
/ 11 апреля 2020

Ваша ошибка в этой строке: слово, частота = line.split (",") В некоторых строках нет ","

попробуйте это :

with open("words_10percent.txt") as f:
   file_data = f.read()
word_frequency = {}
for line in file_data.split("\n"):
   if ',' not in line:
       print('line without ,:', line)
       continue
   word, frequency = line.split(",")
   word_frequency[word] = float(frequency)
0 голосов
/ 11 апреля 2020

ваша проблема вызвана вашими данными, по крайней мере в одной строке нет символа ,

вы можете проверить свою последнюю строку, возможно, есть новый символ строки \n

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...