我使用glob
到文件名喂像这样一个循环:
inputcsvfiles = glob.iglob('NCCCSM*.csv')
for x in inputcsvfiles:
csvfilename = x
do stuff here
我用原型该脚本的玩具例子正常工作与2,10,甚至100输入CSV文件,但我实际上它需要遍历10,959文件。 当使用多个文件,脚本将停止在第一次迭代后的工作,未能找到第二个输入文件。
鉴于脚本工作绝对罚款条目的“合理”数量(2-100),但与我所需要的(10,959)有没有更好的方式来处理这种情况,或某种参数的,我可以设置为允许大量的迭代?
PS-最初我用glob.glob
,但glob.iglob交易会没有更好的。
编辑:
更多的上下文的上方形成扩张...
# typical input file looks like this: "NCCCSM20110101.csv", "NCCCSM20110102.csv", etc.
inputcsvfiles = glob.iglob('NCCCSM*.csv')
# loop over individial input files
for x in inputcsvfiles:
csvfile = x
modelname = x[0:5]
# ArcPy
arcpy.AddJoin_management(inputshape, "CLIMATEID", csvfile, "CLIMATEID", "KEEP_COMMON")
do more stuff after
该脚本在ArcPy中线路,其中“csvfile”变量被传递到命令失败。 报告的错误是,它无法找到指定的CSV文件(例如,“NCCSM20110101.csv”),而事实上,该CSV肯定是在目录中。 难道说你不能重复使用声明的变量(X)多次为我上面? 同样,这将正常工作,如果被glob'd目录只有100页左右的文件,但如果有一大堆(如10,959),它失败看似随意某处名单。