我有一个文件夹,里面有一些光栅文件,看起来像这样:us\u ppt\u 1971\u 2000\u 01.asc,us\u tmax\u 1971\u 2000\u 02.asc,us\u tmin\u 1971\u 2000\u 03.asc,。。。你知道吗
我想从输入文件夹中打开这些文件,根据每个文件进行一些计算,并将结果保存在输出文件夹中。你知道吗
所有的代码都运行得很好,如果我为每个输入文件创建一个新名称的字典,我甚至可以保存结果。但我永远不知道哪个输入文件是用哪个名字保存的。你知道吗
所以现在我想打开每个文件,进行计算,然后用从输入文件名中去掉的一个较短的名称保存新文件,比如说“ppt\u 01”,这样我就可以识别它了。你知道吗
下面是正在工作但随机保存文件的代码,这意味着ppt保存为tmax或tmin samed为ppt:
import ...
workDirectory="I:\\PRISM\\M stuff"
inputDirectory=workDirectory+"\\in"
inputDirectoryPrism=workDirectory+"\\in\\prism"
resultsDirectory=workDirectory+"\\results"
...
...
maps = ["PP1", "PP2", "PP3", "PP4", "PP5", "PP6", "PP7", "PP8", "PP9", "PP10", "PP11", "PP12",
"TMX1", "TMX2", "TMX3", "TMX4", "TMX5", "TMX6", "TMX7", "TMX8", "TMX9", "TMX10", "TMX11", "TMX12",
"TMN1", "TMN2", "TMN3", "TMN4", "TMN5", "TMN6", "TMN7", "TMN8", "TMN9", "TMN10", "TMN11", "TMN12"]
nr=0
for file in glob.glob( os.path.join(inputDirectoryPrism, '*.asc') ):
...
some calculations
...
# Process: Zonal Statistics as Table
# THIS IS WHERE I SAVE MY FILE
arcpy.gp.ZonalStatisticsAsTable_sa(outputDirectory+"\\subcat_diss_shp.shp", "GRIDCODE", outputDirectory+"\\us_ppt_di", resultsDirectory+"\\"+maps[nr]+".dbf", "DATA", "MEAN")
nr = nr + 1
下面是我正在尝试的代码,但它给了我错误“workspace is invalid output workspace”:
import ...
workDirectory="I:\\PRISM\\M stuff"
inputDirectory=workDirectory+"\\in"
inputDirectoryPrism=workDirectory+"\\in\\prism"
resultsDirectory=workDirectory+"\\results"
...
...
nr=0
for file in glob.glob( os.path.join(inputDirectoryPrism, '*.asc') ):
name1 = file[3:]
name2= name1[:-16]
name3= file[17:]
name4=name3[:-3]
...
some calculations
...
# Process: Zonal Statistics as Table
# THIS IS WHERE I SAVE MY FILE
arcpy.gp.ZonalStatisticsAsTable_sa(outputDirectory+"\\subcat_diss_shp.shp", "GRIDCODE", outputDirectory+"\\us_ppt_di", resultsDirectory+"\\"+name2+name4[nr]".dbf", "DATA", "MEAN")
nr = nr + 1
看起来resultsDirectory+“\”+name2+name4[nr]“.dbf”不是存储文件的好方法。你知道吗
任何帮助都将不胜感激。你知道吗
谢谢你!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐