ValueError:没有足够的值来解包(预期2,得到1)但是我提供2个值

时间:2017-11-29 21:16:20

标签: python for-loop text-files

我正在处理这个代码,只是简单地将新数据添加到文本文件中,我让它工作但是我再次运行它并产生了错误“ValueError:没有足够的值来解包(预期2,得到1) ”。我知道这个错误意味着什么,我似乎提供了两个值?我一定错过了一些错误的东西?

产生错误的代码:

schoolnames=[]
scores=[]
with open("Cdrive.txt","r")as a_file:
     for x in a_file.readlines():
         data=x.strip()   #Im aware i could just use data, but i use X to try fix the error, of course this didnt work 
         print(data)
         school,score=data.split(",") #The error is produced here
         schoolnames.append(school)
         scores.append(score)

我的文本文件如下所示(文本文件中每个数据位之间没有行):

SJP,15

chelmer,10

纽荷尔,20

1 个答案:

答案 0 :(得分:3)

你可能有空行,你可以让它工作只需添加一个条件检查:

如果在空行上应用strip(),则

if data将为false。你可以检查被剥离的行中是否有逗号

 for x in a_file.readlines():
     data=x.strip()
     if data and "," in data:  
         school,score=data.split(",")