好的,所以我正在學習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