본문 바로가기

개발 기록/python7

[판다스] 종류별로 다시 컬럼 만들기 import pandas as pd # 기존 데이터프레임 생성 (이전 예제에서 사용한 데이터 활용) data = { '고장접수번호': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], '시험종류': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B', 'A', 'B'], '시험성공여부': [True, False, True, True, False, True, False, True, False, True] } df = pd.DataFrame(data) # 고장접수번호 별 시험종류별 시험수행 성공 여부에 대한 카운트 계산 result = df.groupby(['고장접수번호', '시험종류', '시험성공여부']).size().unstack(fill_value=0) # 새로운 데이터프레.. 2023. 9. 1.
AES 암호화 복호화 pip install pycryptodome from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad def encrypt(plain_text, key): # 16 바이트(128비트)의 임의의 키 생성 initialization_vector = get_random_bytes(16) # 암호화할 데이터를 패딩 처리 padded_plain_text = pad(plain_text.encode(), AES.block_size) # AES 암호화 객체 생성 및 초기화 cipher = AES.new(key.encode(), AES.MODE_CBC, initializa.. 2023. 6. 7.
[Python] 오늘 기준 N개월 전 날짜 반환 함수 from datetime import datetime, timedelta def get_n_months_ago_date(n: int) -> str: today = datetime.today() # timedelta 함수를 이용해 n개월 전의 날짜를 계산합니다. n_months_ago = today - timedelta(days=30*n) # strftime 함수를 이용해 원하는 날짜 형식으로 변환합니다. return n_months_ago.strftime("%Y-%m-%d") 오늘을 기준으로 N개월 전 날짜를 반환하는 함수는 다음과 같다. 2023. 4. 11.
[Python] 다중시트 엑셀 그대로 복사 및 저장 from openpyxl import load_workbook from openpyxl import Workbook # 원본 파일 열기 workbook = load_workbook(filename='original_file.xlsx', read_only=True) # 새로운 워크북 만들기 new_workbook = Workbook() # 모든 시트를 가져와서 새로운 워크북에 복사 for sheet_name in workbook.sheetnames: # 시트 복사 source_sheet = workbook[sheet_name] target_sheet = new_workbook.create_sheet(title=sheet_name) for row in source_sheet.iter_rows(min_row=.. 2023. 3. 29.
[Python] 한국주소 정규식 파이썬 코드 import re # 정규식 패턴 address_pattern = r'\b([가-힣]+(시|도))?\s*([가-힣]+(시|군|구))\s*([가-힣]+(읍|면|동|리))?\s*([가-힣]*[로길])\s*(\d{1,5}(-\d{1,4})?)\b' # 테스트할 주소 리스트 addresses = ['서울특별시 강남구 역삼동 123-45', '경기도 수원시 권선구 호매실동 456', '부산광역시 동구 수정동 789-10'] # 주소 필터링 filtered_addresses = [] for address in addresses: match = re.search(address_pattern, address) if match: filtered_addresses.append(match.group(0)) # 필터링된 주소.. 2023. 3. 23.
[Python]xlwings(xw)로 엑셀파일 다루기 xw 라이브러리에서는 sheet 객체의 used_range 속성을 이용하여 사용된 셀 범위를 찾을 수 있습니다. 이를 이용하여 해당 시트에서 사용된 행 수를 계산할 수 있습니다. 아래는 xw 라이브러리를 사용하여 엑셀 파일에서 사용된 행 수를 찾는 코드 예시입니다. python import xlwings as xw # 엑셀 파일 열기 workbook = xw.Book('파일명.xlsx') # 시트 선택 worksheet = workbook.sheets['시트명'] # 사용된 셀 범위 찾기 used_range = worksheet.used_range # 사용된 행 수 계산 num_rows = used_range.last_cell.row - used_range.first_cell.row + 1 # 엑셀 파일.. 2023. 3. 16.