728x90
반응형

파이썬(Python) 122

[ openpyxl ] 파이썬 openpyxl 라이브러리를 사용하여 시트 생성과 시트 색 지정하기

들어가며  openpyxl은 파이썬으로 엑셀 파일을 읽고 쓰고 수정할 수 있는 라이브러리입니다.이번 블로그에서는 엑셀 파일에 워크시트를 생성하고,시트의 색상을 설정하는 방법을 알아보겠습니다.  openpyxl 라이브러리 설치하기  openpyxl 라이브러리를 설치하려면 아래 명령을 실행하면 됩니다.pip install openpyxl  워크북과 워크시트 생성  먼저 엑셀에서 워크북 즉, 엑셀 파일 하나를 생성하고저장하는 코드는 다음과 같습니다.from openpyxl import Workbook# 워크북 생성wb = Workbook()# 워크북 저장wb.save("colored_tabs.xlsx") 이 코드를 실행하면 아래 그림과 같이엑셀 파일 하나가 생성이 됩니다. 그리고 아래 그림과 같이 시트가 하나..

파이썬(Python) 2025.03.30

[ Selenium ] 파이썬 나라장터 접속하고 팝업창 닫기, Selenium 팝업창 닫기

들어가며  나라장터에 접속하면 아래 그림과 같이 팝업창이 여러 개가 나타납니다.이런 팝업창을 제거하는 방법입니다. 나라장터뿐만 아니라 유사한 형태로 팝업을 처리하는 웹사이트에는 대부분 가능한 방법으로 보입니다.※ 팝업창이 나타나는 구조는 사이트마다 다를 수 있습니다. 구현할 내용은 나라장터 사이트에 접속 후팝업창의 오늘 하루 이 창을 열지 않음을 클릭해 팝업을 닫는 방법입니다. Selenium을 통해 요소를 클릭할 때 주의할 점은요소가 가려져 있으면 클릭이 안될 수도 있다는 점입니다. 위 그림을 보면 팝업창은 모두 네개 인데"오늘 하루 이 창을 열지 않음"이 보이는 창은 두 개입니다.보이지 않는 팝업의 요소는 클릭이 되지 않을 수도 있습니다. 그렇기 때문에 맨 위의 요소부터 차례로 클릭을 해야 에러없이 ..

파이썬(Python) 2025.03.17

[ chardet ] 파이썬(Python)으로 파일 인코딩 자동 감지하기, 인코딩 탐지기 만들기

여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.파이썬 공부하기판다스 등을 사용하여 csv 파일과 같은 텍스트 파일을 읽어올 때인코딩 방식이 잘못되어 제대로 읽어올 수 없는 경우가 있습니다. 몇 줄의 코드로 인코딩 방식을 자동으로 반영해 주도록 만들 수 있습니다.   준비사항  pypi.org에 접속하여 chardet로 검색하신 후chardet 라이브러리를 설치해줍니다.pip install chardet  전체코드  전체 코드는 다음과 같습니다.import chardetdef detect_encoding(file_path): with open(file_path, 'rb') as file: raw_data = file.read() result = chardet.de..

파이썬(Python) 2024.11.24

[ Basic ] 파이썬(Python) isinstance() 함수에 대한 기본

파이썬의 isinstance() 함수는객체가 특정 클래스나 타입의 인스턴스인지 확인하는매우 유용한 도구입니다.   기본 개념  isinstance() 함수는 객체가 특정 클래스나 타입의 인스턴스인지 확인합니다.기본 문법은 다음과 같습니다.isinstance(object, classinfo)반환값은 True 또는 False를 반환합니다.  클래스의 인스턴스 인지 검사  아래 코드는 isinstance() 함수를 사용해 객체가 특정 클래스의 인스턴스 인지확인하는 코드입니다.class MyClass: passobj = MyClass()if isinstance(obj, MyClass): print("obj는 MyClass의 인스턴스입니다.")else: print("obj는 MyClass의 인스턴..

파이썬(Python) 2024.11.21

[ 한글 자동화 ] 한글 문서 페이지가 홀수이면 빈 페이지 삽입하기

한글 문서 여러 개를 모아 책으로 만들 때,홀수인 페이지에 빈 페이지를 삽입하여책의 오른쪽 부분에 제목이나, 분리된 문서의 시작이 와야 할 경우가 있습니다. 한글 문서 페이지가 홀수이면 빈 페이지를 삽입하는 방법입니다. 우선 아래 링크로 가시면 한글과 컴퓨터의 공식문서를 확인할 수 있습니다.※ 한글 문서(Hwp) 안의 표 개수 확인하기   준비하기  아래 그림과 같이 3쪽의 분량을 갖고 있는 한글 문서를 준비했습니다.파일 경로는 "C:\Users\karur\Desktop\1111.hwp"  한글 문서 페이지 번호 알아내기  한글 API 공식문서를 살펴보겠습니다.HwpAutomation.pdf 파일에PageCount는 한글 문서의 전제 페이지 수를 나타낸다고 되어 있습니다. 먼저 저장된 한글 문서를 열어보..

파이썬(Python) 2024.11.19

[ 알고리즘 ] 파이썬 이진탐색(Binary Search) 알고리즘, 숫자 맞추기

이진탐색 알고리즘은 정렬된 배열이나 리스트에서 특정한 값을 찾는 알고리즘입니다.  동작방법  숫자를 기준으로 예를 들어 보겠습니다.1부터 1000까지의 숫자 중에 임의의 값을 정하고그 숫자를 맞춘다고 할 때이진 탐색 알고리즘은 다음과 같은 과정을 거칩니다. 1. 시작값과 끝값의 중간값을 계산합니다.2. 찾으려는 값이 계산한 중간값과 같다면 종료합니다.3. 만약에 중간값이 찾으려는 값보다 작다면, 탐색 범위를 중간값 보다 작은 쪽으로 좁힙니다.3-1. 만약에 중간값이 찾으려는 값보다 크다면, 탐색 범위를 중간값 보다 큰 쪽으로 좁힙니다.4. 위 과정을 최소값이 최댓값보다 작거나 같을 때까지 반복합니다. 이는 우리가 숫자찾기 게임을 하는 것과 같습니다.1부터 1000까지 숫자를 하나 생각한 것을 맞추어야 할..

파이썬(Python) 2024.11.18

[ Basic ] 파이썬 리스트 컴프리헨션(List Comprehension) 이해하기

리스트 컴프리헨션(List Comprehension)은기존의 반복문을 통해 리스트를 생성하는 과정을 단 한 줄의 코드로 간결하게 구현할 수 있는 방법입니다. 이 방법을 통해 코드의 가독성과 효율성을 높일 수 있습니다.   간단한 사용 예시 코드  for문을 통해 1부터 5까지의 숫자를 리스트에 넣는 방법입니다.numbers = []for i in range(1,6): numbers.append(i) 다음은 리스트 컴프리헨션(List Comprehension)을 사용한 방법입니다.numbers = [ x for x in range(1, 6) ] 세 줄의 코드가 한 줄로 줄어들었습니다.결과는 두 코드 모두 동일합니다.  기본 문법 구조  리스트 컴프리헨션의 기본 구조는 다음과 같습니다.[ 표현식 for..

파이썬(Python) 2024.11.16

[ Customtkinter ] pack() 메서드 가이드, 간단한 위젯 배치(Tkinter pack())

pack() 메서드는 CustomTkinter에서 위젯을 창에 순차적으로 배치하는 기본적인 방법입니다.pack() 메서드는 위젯의 정확한 위치를 지정하는 것이 아니라,각 위젯 간의 상대적인 위치를 선언합니다.   기본적인 pack() 메서드 사용법  pack() 메서드는 특별한 인자를 지정하지 않으면위젯이 위에서 아래로 배치가 됩니다.import customtkinter as ctkroot = ctk.CTk()root.geometry("400x400")button1 = ctk.CTkButton(root, text="Button 1")button1.pack()button2 = ctk.CTkButton(root, text="Button 2")button2.pack()button3 = ctk.CTkButton..

파이썬(Python) 2024.11.15

[ 자작 프로그램 ] 엑셀 파일의 시트 합치기 프로그램

간단하게 시트를 합치는 프로그램입니다.무언가 필요한 걸 만들 때마다 프로그래머 분들이 대단하다고 느껴지네요.생각할 것이 너무 많습니다..모르는 것들도 정말 많고요  파워쿼리를 사용한 시트 합치기는 아래 링크를 참고하시면 됩니다.※ 엑셀 파워쿼리(Power Query)를 사용한 시트 합치기, 엑셀 파일 자료 취합하기  전체화면    파일 불러오기 파일 → 파일 불러오기를 실행하면아래 그림과 같이 파일의 전체 경로와 모든 시트를 보여줍니다. 다시 파일 불러오기를 실행하면리스트 박스에 있는 기존 목록은 사라지고새로운 목록이 추가됩니다.  파일 추가하기  파일 → 파일 추가하기를 실행하면기존 목록에 영향을 미치지 않고 기존 목록에 새로운 파일 및 시트 목록을 추가합니다.중복된 파일과 시트가 있다면 경고창이 나타..

파이썬(Python) 2024.11.14

[ CustomTkinter ] Customtkinter 메뉴 만들기

CustomTkinter 라이브러리를 사용하여메뉴바를 만드는 방법을 간단하게 알아보겠습니다.   준비사항  CustomTkinter에서 기본적으로 지원하지 않으므로,CTkMenuBar 라이브러리를 설치해 줍니다.pip install CTkMenuBar  메뉴 위치  메뉴 위치는 두 곳에 가능합니다.타이틀 바 아래에 만드는 방법과 타이틀 바에 직접 만드는 방법입니다. 개인적으로는 타이틀 바 아래에 만드는 것을 선호합니다.  메뉴 만들기  먼저 간단하게 메인 윈도우를 만들어 줍니다.import customtkinter as ctkroot = ctk.CTk()root.geometry("400x300")root.mainloop() 그다음 메뉴 바를 생성하고 메뉴 버튼을 추가합니다.CTkMenuBar() 각체를 ..

파이썬(Python) 2024.11.13
728x90
반응형