栅格转换为ASCII - 在Python中添加处理多个文件的代码段

时间:2012-09-12 21:54:10

标签: python batch-file ascii arcgis raster

我在python中编写了一段代码,将光栅文件转换为ascii。现在,我需要让它处理文件夹中的所有文件。另外,最后保存ascii文件,其名称与添加后缀的原始文件相同。 我是python中的新手,我保证我做了功课,我不能让我自己完成批处理工作。任何帮助都将非常感谢!!

import arcpy
from arcpy import env
env.workspace = "C:/Data"
inRaster = ("test.img")
outASCII = "c:/output/test3.asc"
arcpy.RasterToASCII_conversion(inRaster, outASCII)

2 个答案:

答案 0 :(得分:5)

试试这个:

import os
dir_name = ...
for filename in os.listdir(dir_name):
    if not filename.endswith(".img"): continue
    full_path = os.path.join(dir_name, filename)
    outASCII = '%s.asc' % (full_path,)
    arcpy.RasterToASCII_conversion(full_path, outASCII)

它会在目录.img中获取以dir_name结尾的所有文件名,并将其传递给转换函数。

答案 1 :(得分:0)

尝试以下

import arcpy
arcpy.env.workspace = 'c:/data'

listOfImgs = arcpy.ListRasters('*.img')
for imageFile in listOfImgs:
    outASCII = '%s.asc' % (imageFile,)
    arcpy.RasterToASCII_conversion(imageFile, outASCII)