参考:ArcPy 函数列表(按字母顺序)

参考:在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})

 

◈ 举例:
  files = arcpy.ListFiles("*.csv")

 02

ListRasters

 

按名称和栅格类型返回工作空间中的栅格列表。

ListRasters({wild_card}, {raster_type})

◈  raster_type:BMP、JPG、TIF、IMG等,默认 All。

◈  返回值为 String 数组

 

◈ 举例:
files = arcpy.ListFiles("*", "TIF")

 03

ListFeatureClasses

 

列出工作空间中的要素类,受名称、要素类型和可选要素数据集的限制。
ListFeatureClasses({wild_card}, {feature_type}, {feature_dataset})
◈  featrue_type:Point、Polygon、Polyline等,默认 All。

 

◈ 举例:
featureclasses = arcpy.ListFeatureClasses()
for fc in featureclasses:
    arcpy.CopyFeatures_management( fc, os.path.join("c:/base/output.gdb", os.path.splitext(fc)[0]))

 04

ENVI::CreateRaster

 

方法:创建一个 ENVIRaster 并将其写入到一个文件中。

ResultENVI.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:用于连接数组的分隔符

 

◈ 举例:
  resultFile = 'D:\01-Working\2017\20171204-IDL平均计算\mm.tif'
  newRaster = e.CreateRaster(resultFile, data, INHERITS_FROM = raster)
  newRaster.Save

 06

STRLEN

 

返回字符串的长度。
STRLEN(Expression)

 

 

 07

STRPOS

 

字符串中字符所在的索引值,返回数值。
STRPOS(Expression, Search_String [, Pos], /REVERSE_OFFSET, /REVERSE_SEARCH)
◈ Pos:开始搜索的索引值
◈ REVERSE_OFFSET:开始索引从后面计算
◈ REVERSE_SEARCH:从后面开始搜索

 

◈ 返回值:0
STRPOS('fun is fun', 'fun')

◈ 返回值:7
STRPOS('fun is fun', 'fun', /REVERSE_SEARCH)

◈ 返回值:7
  STRPOS('fun is fun', 'fun', 1)

◈ 返回值:7
  STRPOS('fun is fun', 'fun', 4, /REVERSE_OFFSET)

 08

STRMID

 

字符串截取,返回截取后的字符串。
STRMID(Expression, First_Character [, Length], /REVERSE_OFFSET)
◈ First_Character:开始搜索的索引值
◈ Length:搜索的长度,默认到最后
◈ REVERSE_OFFSET:索引值从后往前算

 

◈ 返回值:lexbnlee
STRMID('alexbnlee', 1)

◈ 返回值:ee
STRMID('alexbnlee', 1, /REVERSE_OFFSET)

◈ 返回值:bn
STRMID('alexbnlee', 4, 2)

 09

STRPUT

 

将后面字符串替换前面相同数目的字符串。
STRPUT, Destination, Source [, Position]
◈ Destination:变量,操作后发生变化
◈ Source:字符串
◈ Position:替换的位置索引,默认是0

 

◈ 变量 A = "ALEXBNLEE"
◈ 返回值:IDLXBNLEE
STRPUT, A, "IDL" & PRINT, A

◈ 变量 A = "ALEXBNLEE"
◈ 返回值:ALEXBNIDL
STRPUT, A, "IDL", 6 & PRINT, A

 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"
◈ 变量 str1 = "alex-is-so-cute"
◈ 返回值:[0, 5, 8, 11]
  STRSPLIT(str)
  STRSPLIT(str1, "-")

◈ 变量 str = "alex is so cute"
◈ 处理后,count=4
STRSPLIT(str, COUNT=count)

◈ 变量 str2 = ";alex;-;is;-;so;-;cute;"
◈ 返回值:alex-is-so-cute
STRSPLIT(str2, ESCAPE=";", /EXTRACT)

◈ 变量 str = "alex is so cute"
◈ 处理后,length=[4, 2, 2, 4]
STRSPLIT(str, LENGTH=length)

 11

STRTRIM

 

删除字符串前后的空格。
STRTRIM(String [, Flag])
◈ Flag:0=后空格,1=前空格,2=前后空格

 

STRTRIM(a):去掉后面的空格
STRTRIM(a, 1):去掉前面的空格
STRTRIM(a, 2):去掉前后的空格

 12

STRUPCASE

 

字符串大写。
STRUPCASE(String)

 

 

 13

STRLOWCASE

 

字符串小写。
STRLOWCASE(String)