본문 바로가기
프로그래밍

python, 주식(3)-엑셀에 틀고정과 필터 추가하기

by 청청개구리 2022. 3. 10.
728x90

 

 

엑셀로 값을 받아온 후, 엑셀편집 하는데,,

원하는 것은, '틀고정' 과 '필터' 를 추가하고 싶다

 

판다스 사용해서 종목 데이터를 입수하고 엑셀로 저장한 후,

엑셀을 열어서 몇가지 원하는 작업을 추가한다(틀고정, 필터, 경우에 따라 몇몇 셀에 색깔 넣기 등)

그런데, 이 엑셀파일이 수십개가 된다면, 직접 손으로 해야 할까?

라는 물음에,,, 찾아봤다. 역시 다 있더라 ㅎㅎ

 

 

파일은

"KRX금현물.xlsx" 이다.(KRX에서 금현물 지수를 엑셀로 저장해서 가져왔음)

간단히 아래에 보임.(열 항목은 편집된 상태임)

 

 

 

(1)필터

즉시 소스 살펴보자

 

4행 : 엑셀 파일을 읽고(wb 워크북)

5행 : ws 워크시트를 지정(wb의 액티브된 시트, 시트가 1개 밖에 없으니 선택의 여지는 없다)

6행 : 신기하게도, 이것만으로 스마트하게 알아서 첫 행에 필터를 넣어줌? 이해는 잘 안되지만, 원하는게 된다.

          아래에 확인해 보자

7행 : 출력저장

 

 

 

 

(2)틀고정

넣어보자. 행을 기준으로 한 예, 셀을 기준으로 한 예를 보인다.

 

4행 : 엑셀 파일을 읽고(wb 워크북)

5행 : ws 워크시트를 지정

6행 : 어떤 셀을 고정 할 것인지 결정한다.A2를 하고 있음에 주목

8행 : B2 셀을 고정기준으로 해본다.

 

"KRX금현물A2.xlsx파일", 아래 2행째가 고정되어, 스크롤다운하면 1행은 고정된채 계속 보임(GIF 만들줄 몰라서,,, ㅜㅜ)

 

 

 

"KRX금현물B2.xlsx파일", 아래 B2 셀을 기준으로 고정된 상태

 

이것으로 일단 어떻게 동작하는지 알게 되었다고 보여지는데,,,

 

 

그럼, 

요렇게 하면 어떻게 될까?

B열을 잡고 틀고정을 넣은 것과 같은 효과가 나온다.

 

 

 

좋다. 그렇다면,

요건?

실제 엑셀을 열어서는 A1셀을 선택하고 틀고정 해보면,

화면의 중앙에 제일 가까운 셀이 임의로 선택되고, 그곳을 기준으로 틀고정이 실행되는 듯하다.

하지만, 프로그램상 엑셀화면이 열리지 않았기 때문인지, 아래와 같은 꺼림직한 메세지가 나온다..

복구해서 열면, 파일이 잘 보이기는 함. 단 틀고정이 걸린 것은 아니듯.

결론, A1에 대한 틀고정 명령은 별 실효가 없는 작업이다.

 

 

※ 이같은 방식으로, openpyxl의 여러명령을 이용해서, 셀과 글씨의 색깔/폰트, 조건부 서식 등 많은 작업이 가능한 것으로 보임.

파이썬에 익숙한 사람들은 엑셀을 굳이 파이썬으로 작업한다는 얘기가 있을 정도임.(엑셀 열어본지가 1년이 넘었다나 뭐라나... ㅋ)

 

 

 

 

728x90