0
所以,我試圖在Python中使用CSV模塊從兩個Excel文件中只有一些列中獲取數據。我是新來編程,所以可能都取得了非常愚蠢的錯誤,請多多包涵......CSV模塊,Python:列表索引超出範圍
這是它的外觀:
import sys
import csv
##functions
resultsdir = "/blah"
filename1=sys.argv[1]
filename2=sys.argv[2]
out = open(sys.argv[3],"w")
#filename1,filename2 = "blub", "blub2"
reader1 = csv.reader(open(resultsdir+"/"+filename1+".csv"), delimiter= '\t')
reader2 = csv.reader(open(resultsdir+"/"+filename2+".csv"), delimiter= '\t')
fields1 = reader1.next()
fields2 = reader2.next()
CNVs1 = dict()
CNVs2 = dict()
現在我想從3列中獲取數據從這兩個Excel文件,這是我做的:
for row in reader1:
start = row[4] #start being the title of the 5th column, this is probably where I went wrong...
end = row[5]
BF = float(row[9])
CNVs1[chr].append([int(start),int(end),BF])
,並再次reader2相同。 當我運行它,我收到以下錯誤信息:
start = row[4]
list index out of range
我不知道是什麼,在這種情況下意味着,正如我說的,我是新來的這所以它可能是很簡單的東西。有任何想法嗎?
您的文件至少有*一行,其中少於5列。 – 2013-03-25 11:18:20
你能否提出一種方法,我可以從excel文件中的第5,6和9列中獲取數據? – 2013-03-25 11:23:09
你正在做的正確,但你需要*確保*你有很多列的行。首先測試'len(row)',或許? – 2013-03-25 11:23:55