好的,所以我正在学习Python。但对于我的学习,我必须做相当复杂的事情。我试图运行一个脚本来分析excel文件中的数据。这是它的外观:Python错误:需要多个值才能解压
#!/usr/bin/python
import sys
#lots of functions, not relevant
resultsdir = /home/blah
filename1=sys.argv[1]
filename2=sys.argv[2]
out = open(sys.argv[3],"w")
#filename1,filename2="CNVB_reads.403476","CNVB_reads.403447"
file1=open(resultsdir+"/"+filename1+".csv")
file2=open(resultsdir+"/"+filename2+".csv")
for line in file1:
start.p,end.p,type,nexons,start,end,cnvlength,chromosome,id,BF,rest=line.split("\t",10)
CNVs1[chr].append([int(start),int(end),float(BF)])
for line in file2:
start.p,end.p,type,nexons,start,end,cnvlength,chromosome,id,BF,rest=line.split("\t",10)
CNVs2[chr].append([int(start),int(end),float(BF)])
这些都是在Excel文件中的数据列的标题,我想分裂他们,我甚至不知道从Excel文件使用数据时有必要。
#more irrelevant stuff
out.write(filename1+","+filename2+","+str(chromosome)+","+str(type)+","+str(shared)+"\n")
这就是它应该写在我的输出中,'shared'就是我计算出来的,其余的已经在文件中了。
好了,现在我的问题,最后,当我打电话这样的脚本:
蟒蛇script.py CNVB_reads.403476 CNVB_reads.403447 script.csv在我的壳
我收到以下错误信息:
start.p,end.p,type,nexons,start,end,cnvlength,chromosome,id,BF,rest=line.split("\t",10)
ValueError: need more than 1 value to unpack
我不知道什么是与数据有关的意思......任何想法?
这意味着你的行没有11个由标签分隔的值。它显然只有一个 – jamylak 2013-03-22 11:42:11
声音像'line.split(“\ t”,10)'只返回一个元素的丢失。 – 2013-03-22 11:42:11
您应该真的使用'csv'模块来分割CSV(或者出于某种不合理的原因,使用扩展名为.csv的错误标签分隔文件)。 – geoffspear 2013-03-22 11:42:21