import yt_dlp

def download_video(url):
    # yt-dlp 옵션 설정
    ydl_opts = {
        'outtmpl': '%(title)s.%(ext)s',  # 파일 이름 형식 (제목과 확장자로 저장)
        'format': 'best',  # 가장 좋은 품질로 다운로드
    }

    # yt-dlp 다운로드 수행
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])

if __name__ == "__main__":
    url = input("다운로드할 URL을 입력하세요: ")
    download_video(url)


from konlpy.tag import Kkma

# Kkma 객체 생성
kkma = Kkma()

# 복합어 예시
texts = [ '관리자유저ID', '관리자이름']

# 배열 원소 최대 갯수 5개로 가정
max_elements = 5

# 형태소 분석
for text in texts:
    morphs = kkma.morphs(text)
    # 형태소가 5개 미만일 경우 앞에 ,,, 을 추가
    result = ','.join(morphs)  # 형태소들을 ,로 연결
    result = ',' * (max_elements - len(morphs)) + result  # 부족한 부분 만큼 , 을 추가

    print(result)


mcp 기본

카테고리 없음 2025. 4. 2. 14:57


import openpyxl
from openpyxl.styles import Alignment, Border, Side, PatternFill
from openpyxl.styles.colors import Color

def create_excel_table(data, filename="table2.xlsx"):
    """
    주어진 데이터를 기반으로 엑셀 테이블을 생성하고, 코멘트 부분을 통합 및 외부 윤곽선을 추가하고,
    엔티티 타입 명 (논리) 부분에 회색 음영을 적용합니다.

    Args:
        data (list): 테이블 데이터를 담고 있는 리스트
        filename (str): 생성할 엑셀 파일 이름
    """

    # 엑셀 워크북 생성
    workbook = openpyxl.Workbook()
    sheet = workbook.active

    # 데이터 작성
    for row_idx, row_data in enumerate(data, start=1):
        for col_idx, cell_data in enumerate(row_data, start=1):
            cell = sheet.cell(row=row_idx, column=col_idx, value=cell_data)
            cell.alignment = Alignment(horizontal='center', vertical='center')

    # 코멘트 부분 셀 병합 및 외부 윤곽선 추가
    sheet.merge_cells("E1:E3")  # E1부터 E3까지 셀 병합
    sheet.cell(row=1, column=5).value = "코멘트"  # 병합된 셀에 "코멘트" 입력
    sheet.cell(row=1, column=5).alignment = Alignment(horizontal='center', vertical='center') # 가운데 정렬

    # 외부 윤곽선 스타일 정의
    border_style = Border(
        left=Side(border_style='thin'),
        right=Side(border_style='thin'),
        top=Side(border_style='thin'),
        bottom=Side(border_style='thin')
    )

    # 병합된 셀에 외부 윤곽선 적용
    for row in sheet["E1:E3"]:
        for cell in row:
            cell.border = border_style

    # 나머지 셀에 외부 윤곽선 적용
    for row in sheet["A1:D3"]:
        for cell in row:
            cell.border = border_style

    # 엔티티 타입 명 (논리) 부분에 회색 음영 적용
    gray_fill = PatternFill(start_color='D3D3D3', end_color='D3D3D3', fill_type='solid')  # 회색 음영 스타일 정의
    for row in sheet["A1:A3"]:  # A1부터 B1까지 셀 선택
        for cell in row:
            cell.fill = gray_fill  # 회색 음영 적용

    # 열 너비 자동 조정
    for column_cells in sheet.columns:
        length = max(len(str(cell.value)) for cell in column_cells)
        sheet.column_dimensions[column_cells[0].column_letter].width = length + 2

    # 파일 저장
    workbook.save(filename)
    print(f"엑셀 파일 '{filename}'이 생성되었습니다.")

# 테이블 데이터
table_data = [
    ["엔티티 타입 명 (논리)", "회원", "작성일", "2025-03-26", ""],  # 코멘트 열 추가
    ["테이블 명 (물리)", "T_MBR_ACNT", "작성자", "홍길동", "기존 테이블 : 회원"],
    ["테이블 설명", "회원", "", "", ""]  # 코멘트 열 추가
]

# 엑셀 파일 생성
create_excel_table(table_data)