Python arcpy搜索游标where子句中撇号的问题
我准备了一个tkinter表单和python脚本,用于从ftp站点下载文件。文件名位于shapefile的属性表中,以及文件名对应的总体名称。换句话说,我查找一个名称,比如“CABOT”,然后下载文件名34092_18.tif。然而,如果一个名字有撇号,比如“O'KEAN”,这会给我带来麻烦。我尝试替换撇号,就像我在以前的脚本中所做的那样,但它没有下载任何东西Python arcpy搜索游标where子句中撇号的问题,python,arcgis,arcpy,Python,Arcgis,Arcpy,我准备了一个tkinter表单和python脚本,用于从ftp站点下载文件。文件名位于shapefile的属性表中,以及文件名对应的总体名称。换句话说,我查找一个名称,比如“CABOT”,然后下载文件名34092_18.tif。然而,如果一个名字有撇号,比如“O'KEAN”,这会给我带来麻烦。我尝试替换撇号,就像我在以前的脚本中所做的那样,但它没有下载任何东西 whereExp = quadField + " = " + "'" + quadName.replace("'", '"')
whereExp = quadField + " = " + "'" + quadName.replace("'", '"') + "'"
quadFields = ["FILENAME"]
c = arcpy.da.SearchCursor(collarlessQuad, quadFields, whereExp)
for row in c:
tifFile = row[0]
tifName = quadName.replace("'", '') + '_' + tifFile
#fullUrl = ftpUrl + tifFile
local_filename = os.path.join(downloadDir, tifName)
lf = open(local_filename, "wb")
ftp.retrbinary('RETR ' + tifFile, lf.write)
lf.close()
下面是一个脚本的一部分的示例,通过替换撇号可以很好地工作
where_clause = quadField + " = " + "'" + quad.replace("'", '"') + "'"
#out_quad = quad.replace("'", "") + ".shp"
arcpy.MakeFeatureLayer_management(quadTable, "quadLayer")
select_out_feature_class = arcpy.SelectLayerByAttribute_management("quadLayer", "NEW_SELECTION", where_clause)
你能提供一个包含撇号的好的
whereExp
字符串的例子吗?我做了第二次世界大战。下面是“这是一个脚本的一部分的示例,它可以通过替换撇号来很好地工作……”