所以,我尝试使用Python中的CSV模块从两个excel文件中的一些列中获取数据。我不熟悉编程,所以可能犯了一个非常愚蠢的错误,请原谅我。。。在
它看起来是这样的:
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()
现在我想从两个excel文件中的3列中获取数据,这是我所做的:
^{pr2}$reader2也是一样。 运行它时,我收到以下错误消息:
start = row[4]
list index out of range
我不知道这意味着什么,正如我所说的,我是新手,所以它可能很简单。有什么想法吗?在
尝试使用Pandas的
read_csv
函数并显式指定要使用的列。例如如何修改这完全是你的选择。
另外,如果您想指定一系列列,那么您也可以像这样使用
usecols
中的range
函数:usecols=range(4,7)
其中列从第4列开始,到第6列结束(不考虑第7列)。您可以随时在线找到使用熊猫的文档和示例。这是一个很棒的图书馆。
我不确定您是否需要其他建议,但我会说在代码中使用
defaultdict
而不是内置的dict()
函数。在相关问题 更多 >
编程相关推荐