2014-07-23 2 views
0

Excel 파일에서 템플릿으로 읽는 스크립트를 작성하고 .txt 파일에서 읽은 내용을 기반으로 새 데이터를 삽입하려고합니다.증분 함수 인수 변수 [Python]

난 읽을 때 xlrd 모듈을 사용하고 있습니다. 현재, 나는 스크립트의 독서 부분에 갇혀있다.

매번 rowxcolx 인수 변수를 1 씩 증가시켜 Excel 파일에서 각 셀을 검색 할 계획입니다. 그러나 파이썬의 인수 변수를 수정할 수없는 것으로 보입니까?

내 스크립트의 증가로 인해 외부 변수가 수정됩니다. 셀 단위 값 검색을 수행 할 수있는 방법이 있습니까?

# Define variables 
switch1 = 1 
count = 0 
rowx = 0 
colx = 0 

# Loop 
while switch1 == 1 and count < totalCells:  
    print "AAAA" 

    cellValue = "Long string in here....." 

    if sh.cell_value(rowx=0, colx=0) == cellValue: 
     print "BBBB" 
     switch1 = 0 

    rowx += 1 
    colx += 1  
    count += 1 

답변

2

당신은하지 사용rowxcolx 변수를 않습니다. 당신은 언제나 0을 전달 :

if sh.cell_value(rowx=0, colx=0) == cellValue: 

패스를 대신 변수의 값을 : 당신이 그것에있는 동안

if sh.cell_value(rowx=rowx, colx=colx) == cellValue: 

, 당신은 다른 단순화를 만들 수 있습니다. rowxcolx은 항상 count과 동일하므로 하나의 변수 만 사용할 수 있습니다. 우리는 for 루프 totalCells-1-0에서 루프 수 있고, 일찍 break 문 루프 종료 :

항상 같은 의도하지 않은 rowxcolx 경우
for i in xrange(totalCells): 
    print "AAAA" 
    cellValue = "Long string in here....." 
    if sh.cell_value(rowx=i, colx=i) == cellValue: 
     print "BBBB" 
     break 

, 당신은 그 문제를 해결해야합니다를, 그렇지 않으면 당신은 단지 주요 대각선을 따라 갈 것입니다.

+0

설명해 주셔서 감사합니다. 오, 네 말이 맞아 Excel 파일의 각 셀을 반복하고 싶다면'rowx'와'colx'는 항상 같은 값일 수는 없습니다. – iridescent