저번 시간에 출력하는 것 까지 해보았다.
이번에는 값을 찾아보는 것까지 도전해보도록 하겠다.
일단 값을 비교하기 위해서는 eq함수를 알아야 한다.
eq를 사용하기 위해서는 operator라는 모듈을 불러와야 한다.
eq를 사용하여 값 비교하기
operator(비교값 1, 비교값 2)
결과는 같을 경우 True, 다를 경우 False를 return 해준다.
ex)
import operator
a= 123
b=456
operator.eq(a,b)
결과)
다음과 같이 나온다.
이제 값을 받아 그 값이 나오는지 확인해보자
우선 num 값과 찾을 값을 적자
우선 C열에서 8080이라고 적혀있는 값을 찾고 싶다.
다음으로 for문을 돌려 시트 안 C열에 있는 값을 찾는다.
<코드>
for i in sheet.rows :
if(operator.eq(i[num-1].value, find)) :
print(i[num-1])
eq를 사용하여 C열에 있는 값과 내가 입력한 값과 비교를 하고 만약 값이 같을 경우 그 셀을 출력한다.
<결과>
'handsome_guencheol' sheet안에서 C열 17행에 내가 입력한 8080이 있다고 나왔다.
확인을 해보도록 하겠다.
보면 C열 17행에 8080이라는 값이 있다.
이제 값을 입력받아 찾는 것 까지는 해결했다.
다음으로 해야할 것은 찾은 행에 있는 값을 모두 출력해 줘야한다.
그래서 사용하는게 이중 for문이다.
이중 for문은 for문을 두 번 사용하는 것인데 대학교 1학년 때 코딩과 담쌓게 해준 첫번째 친구이다.
안좋은 추억을 가지고 있지만 이중 for문을 사용해 보겠다.
for i in sheet.rows :
if(operator.eq(i[num-1].value, find)) :
for j in range(0,5) :
print(i[j].value)
<코드 해석>
1. if(operator.eq(i[num-1].value, find)) : -> i행 num-1열에 있는 값과 찾고자 하는 값이 같은 경우
2. for j in range(0,5) : -> 열이 A부터 E열까지 존재하므로 범위를 0~5까지 잡음
3. print(i[j].value) -> 찾은 행에 있는 값 모두 출력
<출력결과>
과연 그 값이 엑셀에 있는지 확인 해보겠다.
다음과 같이 희망하는 줄의 값이 나온다.
다음 시간에는 뽑아온 값을 새로운 엑셀 파일에 저장하는 거 해봐야 겠다.
'python?' 카테고리의 다른 글
python으로 엑셀파일 열고 쓰기(with pandas) (2) | 2019.10.19 |
---|---|
파이썬으로 엑셀 다루기(完) (2) | 2019.10.07 |
파이썬으로 엑셀 다루기(사용자에게 받은 값의 셀 전체 출력하기) (0) | 2019.08.18 |
파이썬으로 엑셀 다루기(파일 읽기, 쓰기) (6) | 2019.08.15 |
python을 이용하여 네이버 실시간 검색순위 뽑아오기(크롤링) (0) | 2019.08.14 |