Python 光栅的总和组具有公共文件名

Python 光栅的总和组具有公共文件名,python,python-2.7,Python,Python 2.7,我有一个包含光栅组的文件夹,如下所示: 00z01JAN2010、01z01JAN2010、02z01JAN2010。。。2010年1月23日 00z02JAN2010、01z02JAN2010、02z02JAN2010。。。2010年1月23日 这些光栅有几个月,直到12月。我想在这个文件夹中计算每天的总数。我尝试在(z)处拆分文件名,然后列出所有具有公共相似第二部分的光栅,然后使用单元格统计信息进行求和。我使用fnmatch来执行此操作,但它返回空列表。任何建议 import os, a

我有一个包含光栅组的文件夹,如下所示:

  • 00z01JAN2010、01z01JAN2010、02z01JAN2010。。。2010年1月23日
  • 00z02JAN2010、01z02JAN2010、02z02JAN2010。。。2010年1月23日
这些光栅有几个月,直到12月。我想在这个文件夹中计算每天的总数。我尝试在(z)处拆分文件名,然后列出所有具有公共相似第二部分的光栅,然后使用单元格统计信息进行求和。我使用fnmatch来执行此操作,但它返回空列表。任何建议

import os, arcpy, fnmatch
import arcpy.sa
from arcpy import env

arcpy.CheckOutExtension("Spatial")  
arcpy.env.overwriteOutput = True  
finalRasterFold = "E:\Drive_GGGGGG\PhD_AinShams\PhD_Proposal_RainNetwork\Frequency_Files\Con_1_0"
outDayRasterFold = r"D:\PhD_work\Rasters_Day"

arcpy.env.workspace = finalRasterFold 
RainRasterList = arcpy.ListRasters('*')

for h in range(0,24):
    DayRainRaster = []
    j =[]
    for n in RainRasterList:
        fn1, fn2 = n.split('z')

        if fnmatch.filter(n[3:], fn2):
            j.append(n)

        j = arcpy.Raster()
        DayRainRaster.append(j)
    arcpy.gp.CellStatistics(DayRainRaster,outDayRasterFold + r"\DayRas" + str(h),"SUM","DATA")

您可以使用
collections
模块中的
defaultdict
来记录每天发生的次数

from collections import defaultdict

day_count = defaultdict(int)

for n in RainRasterList:
    fn1, fn2 = n.split('z')
    day_count[fn2] += 1

print(day_count)

您可以使用
collections
模块中的
defaultdict
来记录每天发生的次数

from collections import defaultdict

day_count = defaultdict(int)

for n in RainRasterList:
    fn1, fn2 = n.split('z')
    day_count[fn2] += 1

print(day_count)

@詹姆斯。。我从你的答案中找到了一种方法

 newlist = []
for n in RainRasterList:
    fn1, fn2 = n.split('z')
    temp = (fn2, n)
    newlist.append (s)
for k, v in newlist:
    day_count[k].append(v)
day_count.items()

rlist =[]   
for k, v in day_count.iteritems():
    rlist.append(v)

for i in range(len(rlist)):
    arcpy.gp.CellStatistics(rlist[i], outDayRasterFold + r"\D" + str(rlist[i][1]),"SUM","DATA")

@詹姆斯。。我从你的答案中找到了一种方法

 newlist = []
for n in RainRasterList:
    fn1, fn2 = n.split('z')
    temp = (fn2, n)
    newlist.append (s)
for k, v in newlist:
    day_count[k].append(v)
day_count.items()

rlist =[]   
for k, v in day_count.iteritems():
    rlist.append(v)

for i in range(len(rlist)):
    arcpy.gp.CellStatistics(rlist[i], outDayRasterFold + r"\D" + str(rlist[i][1]),"SUM","DATA")

谢谢但我现在仍然不知道如何使用单元格统计数据来计算每天原始光栅数(n)的总和?谢谢。。但我仍然不知道如何使用细胞统计在这一刻,以总和原始光栅(n)在每一天?