2014-10-03 135 views
0
line = line.strip() 
rsid, chromosome, position, genotype = line.split(",") 

它給我一個值錯誤說這個錯誤是什麼意思? Python的錯誤

ValueError: Need more than one value to unpack 

我該如何解決這個問題?

+1

這意味着您的行很可能是*空*。 – 2014-10-03 15:19:28

+0

這意味着line.split()只返回一個值。所以它的空白 – 2014-10-03 15:20:16

+0

'print(line.spit(','))'會告訴你這個問題。 – tdelaney 2014-10-03 15:22:50

回答

0

錯誤告訴你只有一個line.split(',')返回的列表中的字符串。這意味着該字符串中沒有逗號,並且分割返回了該字符串,但在列表中。

通常情況下,這意味着你的字符串是空的,開始:

>>> 'string with no commas'.split(',') 
['string with no commas'] 
>>> ''.split(',') 
[''] 

您可以輕鬆地跳過空行:

line = line.strip() 
if not line: 
    continue # next iteration of the loop 
rsid, chromosome, position, genotype = line.split(",") 

你可能想看看在csv module而不是分裂文件行自己。

相關問題