【Python】DataValidation 메서드를 사용하여 데이터 입력 규칙 설정

파이썬을 사용하여 Excel 파일 작업을 공부하고 있습니다.
오늘의 주의(복습)는, 조건부 서식에 관해서입니다.
파이썬에서 Excel을 조작하기 위해 openpyxl이라는 패키지를 사용하고 있습니다.



상기와 같은 책 「상품 리스트를」



이런 리스트 입력이 가능한 테이블로 변경하고 싶습니다.

DataValidation 메서드


validation = DataValidation(type='入力値の種類',
                            formula1='入力可能にする値',
                            allow_blank=空白を無視する場合はTure)

데이터 입력 규칙을 설정하려면 위와 같이
DataValidation을 먼저 만듭니다.

type 인수는 "날짜""목록"과 같은 입력 값 유형을 설명합니다.
  • whole : 정수
  • time: 시간
  • date : 날짜
  • textLength : 문자열 (길이 지정)
  • list : 목록
  • custom: 사용자 설정
  • decimal: 소수점

  • DataValidation.add 메서드


    DataValidation.add(セルの範囲)
    

    데이터 입력 규칙을 결정한 후, 다음은 설정할 셀 범위를
    DataValidation.add 메서드로 작성합니다.

    마지막으로 Worksheet의 add_data_validation 메소드에
    처음 만든 DataValidation 객체를 설정하여
    시트에 데이터 입력 규칙을 설정할 수 있습니다.

    최종 코드


    from openpyxl import load_workbook
    from openpyxl.worksheet.datavalidation import DataValidation
    
    wb = load_workbook('商品リスト.xlsx')
    ws = wb.active
    
    validation = DataValidation(type='list',
                                formula1='"レジ1,レジ2,レジ3"',
                                allow_blank=False)
    
    validation.add('I3:I24')
    
    ws.add_data_validation(validation)
    wb.save('商品リスト_リスト追加.xlsx')
    

    개인적으로, 지금까지 목록은

    다른 시트의 셀에 목록 내용을 입력하는 것
    (목록 내용의 셀은 숨김으로 숨겨 두는 것)

    라고 생각했기 때문에
    그런 일 없이도 목록을 만들 수 있다는 것이 충격적이었습니다.

    좋은 웹페이지 즐겨찾기