参考:在arcgis上用python脚本(arcpy)做数据批处理
1. 导入 ArcPy,定义 Workspace
>>> import arcpy
>>> arcpy.env.workspace = r"D:\01-Working\2017\20171204-IDL_Average"
>>> print(arcpy.env.workspace)
D:\01-Working\2017\20171204-IDL_Average
2. 浏览 Workspace 内部文件
>>> allfiles = arcpy.ListFiles()
>>> print(allfiles)
[u'20171023-wan.zip', u'555.zip', u'85858.zip', u'GOCI_06_AVG_GDPS_RC_GEO_ZJ_MASK_BIL_FLAASH_TSM.tif']
>>> all_tifs = arcpy.ListFiles("*.tif")
>>> print(all_tifs)
[u'bb.tif', u'cc.tif', u'dd5.tif', u'GOCI_06_AVG_GDPS_RC_GEO_ZJ_MASK_BIL_FLAASH_TSM.tif', u'test.tif']
>>> all_rasters = arcpy.ListRasters()
>>> print(all_rasters)
[u'bb.tif', u'cc.tif', u'dd5.tif', u'GOCI_06_AVG_GDPS_RC_GEO_ZJ_MASK_BIL_FLAASH_TSM.tif', u'test.tif']
>>>
3. 利用 for 循环显示
>>> for i in all_rasters:
... print(i)
...
bb.tif
cc.tif
dd5.tif
GOCI_06_AVG_GDPS_RC_GEO_ZJ_MASK_BIL_FLAASH_TSM.tif
test.tif
ListFiles:根据查询字符串返回当前工作空间中的文件列表。通过指定搜索条件可以限制结果。
参考:String Processing Routines —— 字符串处理函数
01 | STRING | 返回字符串。 | |
02 | STRCMP | 比较字符串,一样返回1,不一样返回0,默认大小写敏感。 | |
03 | STRMATCH | 字符串进行比较,一致返回1,不一致返回0。 | |
04 | STRCOMPRESS | 将字符串中的空格和Tab等压缩成一个空格。 | |
05 | STRJOIN | 将字符串数组合并成一个字符串。 | |
06 | STRLEN | 返回字符串的长度。 | |
07 | STRPOS | 字符串中字符所在的索引值,返回数值。 | |
08 | STRMID | 字符串截取,返回截取后的字符串。 | |
09 | STRPUT | 将后面字符串替换前面相同数目的字符串。 | |
10 | STRSPLIT | 默认返回拆分索引数组,也可返回拆分字符串数组。 | |
11 | STRTRIM | 删除字符串前后的空格。 | |
12 | STRUPCASE | 字符串大写。 | |
13 | STRLOWCASE | 字符串小写。 |
序号 | 名称 |
功能说明 |
语法 & 举例 | ||
01 | ListFiles | 根据查询字符串返回当前工作空间中的文件列表。通过指定搜索条件可以限制结果。 ListFiles({wild_card}) |
◈ 举例: |
||
02 | ListRasters | 按名称和栅格类型返回工作空间中的栅格列表。 ListRasters({wild_card}, {raster_type}) ◈ raster_type:BMP、JPG、TIF、IMG等,默认 All。 ◈ 返回值为 String 数组 |
◈ 举例: |
||
03 | ListFeatureClasses |
列出工作空间中的要素类,受名称、要素类型和可选要素数据集的限制。 |
|
||
04 | ENVI::CreateRaster | 方法:创建一个 ENVIRaster 并将其写入到一个文件中。 Result = ENVI.CreateRaster(URI [, Data] [, DATA_IGNORE_VALUE=value] [, DATA_TYPE=variable] [, ERROR=variable] [, INHERITS_FROM=ENVIRaster] [, INTERLEAVE=string] [, METADATA= ENVIRasterMetadata][, NBANDS=variable] [, NCOLUMNS=variable] [, NROWS=variable] [, SPATIALREF=ENVISpatialRef] [, TIME=ENVITime]) ◈ URI:数据的路径 ◈ Data:数组 ◈ INHERITS_FROM=ENVIRaster:参考的 ENVIRaster |
◈ 举例: resultFile = ‘D:\01-Working\2017\20171204-IDL平均计算\mm.tif’ newRaster = e.CreateRaster(resultFile, data, INHERITS_FROM = raster) newRaster.Save |
||
05 | STRJOIN | 将字符串数组合并成一个字符串。 STRJOIN(String [, Delimiter], /SINGLE) ◈ String:字符串数组 ◈ Delimiter:用于连接数组的分隔符 |
◈ 举例: |
||
06 | STRLEN |
返回字符串的长度。 |
|||
07 | STRPOS |
字符串中字符所在的索引值,返回数值。 |
◈ 返回值:0
◈ 返回值:7 ◈ 返回值:7 |
||
08 | STRMID |
字符串截取,返回截取后的字符串。 |
◈ 返回值:lexbnlee
◈ 返回值:bn |
||
09 | STRPUT |
将后面字符串替换前面相同数目的字符串。 |
◈ 变量 A = “ALEXBNLEE” ◈ 变量 A = “ALEXBNLEE” |
||
10 | STRSPLIT | 默认返回拆分索引数组,也可返回拆分字符串数组。 STRSPLIT(String [, Pattern] [, COUNT=variable] [, ESCAPE=string] [, /FOLD_CASE]] [, /EXTRACT|, LENGTH=variable]) ◈ String:欲拆分的字符串或字符串数组 ◈ Pattern:字符串分隔符,默认是空格/TAB ◈ COUNT=variable:得到拆分后得到数组的元素个数 ◈ ESCAPE=string:删除符合的string值 ◈ FOLD_CASE:大小写不敏感 ◈ EXTRACT:返回字符串数组 ◈ LENGTH=variable:拆分后,字符串数组中每个字符串的长度,返回值为数组 |
◈ 变量 str = “alex is so cute” ◈ 变量 str = “alex is so cute” ◈ 变量 str2 = “;alex;-;is;-;so;-;cute;” ◈ 变量 str = “alex is so cute” |
||
11 | STRTRIM |
删除字符串前后的空格。 |
◈ STRTRIM(a):去掉后面的空格 |
||
12 | STRUPCASE |
字符串大写。 |
|
||
13 | STRLOWCASE |
字符串小写。 |