2016-10-31 3 views
0

두 변수 (geom1, geom2)에 대한 스 니펫 코드를 작성했지만 알지 못하는 경우 (geo1, geom2) 스 니펫 코드를 썼습니다. 변수 이름과 값을 반복하는 방법.python에서 변수 이름을 반복하고 값을 설정하는 방법은 무엇입니까?

import arcpy 
# Spatial reference of input feature class 
SR = arcpy.SpatialReference(4326) 
InFc=r"D:\_GIS\VerticesToLine.gdb\Line" 
output = r"D:\_GIS\VerticesToLine.gdb\test" 
geom = [row[0] for row in arcpy.da.SearchCursor(InFc, ["[email protected]"])] 
geom[0].union(geom[1]) 
g= geom[2].union(geom[0]) 
with arcpy.da.InsertCursor(output, ["[email protected]"]) as cur: 
    cur.insertRow((g,)) 
+0

당신은'eval'를 사용할 수 있지만,이 나쁜 연습 간주 : 당신이 함께 recodrs의 임의의 수를 union하려면

, 당신은 할 수 있습니다. Patrick이 제안한 것처럼 목록을 사용하십시오. –

답변

1

목록을 압축 해제하지 않고 보관하십시오.

geom = [row[0] for row in arcpy.da.SearchCursor(InFc, ["[email protected]"])] 
geom[0].union(geom[1]) 
g= geom[2].union(geom[0]) 
with arcpy.da.InsertCursor(output, ["[email protected]"]) as cur: 
for geo in geom: 
    cur.insertRow((g,)) 

당신은 정말 insertRow((g,)) 세 번하려고, 또는 그 geo을해야 하는가?

geom = [row[0] for row in arcpy.da.SearchCursor(InFc, ["[email protected]"])] 
g = geom[0] 
for geo in geom[1:]: 
    g = g.union(geo) 
+0

감사합니다. Patrick. 나는 그것을 시도하지는 않지만 기본적으로 g는 출력에 삽입되어야한다. 100 개가 넘는 레코드가있는 테이블이 있습니다. 코드가 모든 레코드 수에 사용될 수 있습니까? – wetland

+0

그래서 모든 레코드를 함께 결합하고 싶습니까? –

+0

@ 습지 내 편집보기 –

관련 문제