본문 바로가기

코딩 연습276

화면 캡처 이미지 자동 저장 화면 캡처 기능을 만들어서 사용해보았다. 파이썬 PIL 라이브러리 ImageGrab를 사용하여 화면을 캡처 후 이미지를 자동으로 저장하는 소스 코드임 화면 캡처 이미지 자동 저장 (with Python PIL ImageGrab) ※ PIL 라이브러리 설치 pip instll pillow [파이썬 소스 코드] import time from PIL import ImageGrab time.sleep(5) # 대기 시간 for i in range(1, 11): img = ImageGrab.grab() # 현재 화면(스크린) 캡처 후 이미지를 가져옴 file_path = r'C:/Users/user/Pictures/' img.save(f'{file_path}image_{i}.png') # 파일로 저장 time.s.. 2023. 4. 4.
공동주택 기본 정보제공 서비스 추출 공동주택 기본 정보제공 서비스는 공공데이터포털에서 제공하는 '전국 아파트 등의 공동주택에 대한 기본 정보를 제공하는 서비스'로 공동주택명, 도로명 주소, 지번 주소, 전용면적, 세대수, 층수, 건축년도 등이 포함됨 공동주택 기본 정보제공 서비스 이 서비스는 부동산 업계에서 매물 정보의 수집과 분석에 많이 활용되고 있는데, 부동산 중개업체나 부동산 정보 제공 업체 등에서 해당 서비스를 이용해 매물 정보를 자동으로 수집하고, 이를 바탕으로 실거래가 추이 등 다양한 분석을 수행한다. 개인 또한 부동산 매매나 임대 시 이 서비스를 이용해 해당 지역의 공동주택 정보를 파악할 수 있으며, 정부와 지자체에서도 이 서비스를 활용하여 부동산 시장 동향 분석 및 정책 결정(지역별 공동주택 거래량 분석, 공공주택 건립 및 .. 2023. 3. 29.
리스트 컴프리헨션(List Comprehention) 연습 리스트 컴프리헨션은 파이썬 리스트를 생성할 수 있는 간단한 방법인데, 대괄호([ ]) 안에 for 루프 반복문이나 조건문을 사용하여 리스트를 생성할 수 있다. 리스트 컴프리헨션(List Comprehenstion)의 기본 형태 및 예제 코드 기본 형태는 [(변수) for (변수) in (시퀀스 등 순회할 수 있는 값)] ## 파이썬 리스트 만들기 int_lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ## 리스트 컴프리헨션으로 만들기 intLst = [i for i in range(1, 11)] print(intLst) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] evenLst = [i for i in int_lst if i % 2 == 0] print(even_lst.. 2023. 3. 29.
파이썬 리스트의 reverse()와 reversed() reverse()는 리스트 원본 요소들을 역순으로 뒤집어주는 함수인 반면, reversed()는 리스트 요소들을 뒤집어주는 것은 같지만 원본 요소들을 변경하는 것이 아니라 리스트를 인자로 받아 새로운 이터레이터(iterator)를 반환하기 때문에 사용법이 다르다. 파이썬 리스트의 reverse()와 reversed() 함수의 차이점 [파이썬 예제 코드] lst = [1, 2, 3, 4, 5] print(lst) # [1, 2, 3, 4, 5] lst.reverse() print(lst) # [5, 4, 3, 2, 1] # reverse()는 lst 자체를 변경시킴 lst2 = [4, 5, 6, 7, 8] print(lst2) # [4, 5, 6, 7, 8] reversed(lst2) # 또는 lst2._.. 2023. 3. 26.
pyinstaller 내에 sqlite3 db 추가하는 방법 pyinstaller 실행 파일(exe) 생성 시 sqlite3 db 파일 추가하기 파이썬 tkinter 내에서 데이터 관리를 위해 sqlite3로 db와 table 생성을 적용하고 하나의 실행 파일로 만들기 위해 pyinstaller -w - [filename].py 명령으로 실행 파일을 만들면 db 파일이 추가가 안 되거나, 생성된 exe 파일을 실행해서 보면 지정 경로(상대경로 또는 절대경로)에 db 파일이 생성된 것을 볼 수 있다. 원래 의도는 exe 파일 내에서 db가 실행되도록 하여 일반 사용자가 db 파일을 못 보게 하기 위함인데... 이 문제를 해결하기 위해 찾아보니 다음과 같은 코드가 있었다. def resource_path(relative_path): try: base_path = sy.. 2023. 3. 26.
파이썬 판다스(pandas) 활용한 엑셀 데이터 분리 하나의 엑셀 시트에 데이터가 20만 Row개 데이터(Row x Column: 200000 x 36)가 있고, 이것을 1만 여개씩 분리하여 각각 엑셀 파일로 저장하고 싶을 때 사용하면 유용한 코드 python pandas와 numpy 활용 엑셀 데이터 분리 import pandas as pd import numpy as np def file_seperate(): seperate_row_cnt = 10000 file_no = 1 df =pd.read_excel('./data/엑셀시트데이터.xlsx') for chunk in np.array_split(df, len(df) // seperate_row_cnt): chunk.to_excel(f'./data/시트_{str(file_no).zfill(2)}.xlsx.. 2023. 3. 26.
구분자로 연결된 문자열의 일부분을 추출하는 방법 파이썬으로 구분자를 주어 추출한 네이버 부동산 주소 텍스트 데이터에서 동명칭을 분리하여 추출하는 방법 파이썬으로 주소 분리 작업을 많이 하다 보면 구분자로 연결한 수십 수백 만 건의 텍스트 결과물에서 특정 부분을 추출하는 경우가 가끔 있다. 이때 엑셀로 변환 후에 추출할 수도 있지만, 엑셀의 행의 한계(row의 수가 104만개 정도)와 로딩 시간이나 함수 처리 시간이 너무 많이 걸리는 문제가 있다. 아래처럼 된 텍스트 결과물에서 그 중간에 있는 도로명주소와 괄호 안의 동 명칭을 추출해야 일이 있었는데, 그 아래처럼 코드를 짜서 실행해보니 잘 나왔다. juso = [ '1977.11.$서울특별시 구로구 고척동 97-3$서울특별시 구로구 경서로1길 14(고척동, 삼명아파트)$서울특별시 구로구 고척동 97-3.. 2023. 3. 25.
전원주택라이프 웹 사이트 크롤링 테스트 전원주택라이프 웹 사이트 구조는 특이하게도 html table로 만들어졌다. 파이썬으로 table 구조에 대한 크롤링 연습을 해봤다. 전원주택라이프 크롤링 테스트 전원주택 관련 공사업체, 제조업체, 판매업체, 서비스업체, 우수업체 목록이 약 3만여개 보유한 사이트. 크롤링 연습을 위해 개발자도구로 html 구조를 살펴보니 특이하게도 페이지가 table 태그로 만들어져 있고 각 table 태그의 각 element에 대한 class, id 등의 속성이 없어서 table 태그를 직접 핸들링해야 하는 불편이 있었음. 페이징 처리 부분을 for 문으로 순환하면서 request.get() 처리로 데이터를 불러올 수 있었고, encoding은 euc-kr로 처리하고, table에 대한 전체 count를 통해 추출할 .. 2023. 3. 25.
숫자 자릿수 맞추기 [파이썬기초예제] 숫자 앞에 숫자 0이나 특정 문자로 원하는 자릿수로 만들 수 있는 방법. 파이썬에서는 zfill() 함수, rjust()함수를 사용한다. 숫자 앞에 0 또는 문자 삽입하기 숫자 1앞에 0을 2개 배치하여 자릿수를 3으로 해야 할 경우, zfill(width) 함수를 활용(숫자 앞에 '0'으로 채울 때 사용하는 함수) print('1'.zfill(3)) # 001 rjust(width, [char]) 함수는 '0'이 아닌 원하는 문자(char)로 앞을 채워줌 print('1'.rjust(3, '0')) # 001 print('1'.rjust(3, '$')) # $$1 print('123'.rjust(5, 'A')) # AA123 2023. 3. 22.
유튜브 영상 저장 - 한 번에 여러 영상 저장하는 방법 유튜브 영상 저장을 하는 파이썬 코드를 chatGPT에 물어보고 만들다 보니 예전에 만들어서 포스팅했던 글(유튜브 영상 다운로드)에 덧붙여서 여러 동영상을 저장하는 코드(selenium 모듈 사용)도 만들어봤다. 유튜브 영상 고화질 다운로드 - 다수의 영상을 저장하는 파이썬 코드 아래와 같은 유뷰트 영상 사이트(https://www.youtube.com/@kescotv)에서 "모두재생" 부분을 클릭하면, 우측에 유튜브 영상 리스트가 보인다. 이 리스트에 있는 영상 전체를 받는 파이썬 코드를 연습 삼아 작성해 보았다. import os from selenium import webdriver import chromedriver_autoinstaller from selenium.webdriver.common... 2023. 2. 9.