Worksheet.append 메서드로 다수의 셀 값 입력
Worksheet 클래스의 메서드 append를 이용해 다수의 셀 값을 작업중인 시트의 맨 마지막에 입력할 수 있다.
"""Appends a group of values at the bottom of the current sheet."""
Worksheet 클래스의 메서드 append의 전달인자는 리스트, 튜플, 제너레이터 또는 딕셔너리이다.
"""
If it’s a list: all values are added in order, starting from the first column
If it’s a dict: values are assigned to the columns indicated by the keys (numbers or letters)
"""
아래의 코드에서 처럼
새로운 엑셀 파일을 생성한 후 빈 엑셀 시트에 대하여 리스트 데이터를 append 메서드에 넘겨주면,
첫번째 행에 append에 넘겨준 리스트 데이터가 입력되어 있음을 확인할 수 있다.
# openpyxl 3.0.7
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
iter_list = [x for x in range(1, 11)]
ws.append(iter_list)
wb.save('sample.xlsx')
위의 코드 실행으로 생성된 엑셀 파일 "sample.xlsx"를 불러와 tuple 데이터를 append 메서드에 넘겨주면,
두번째 행에 append에 넘겨준 튜플 데이터가 입력되어 있음을 확인할 수 있다.
# openpyxl 3.0.7
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx')
ws = wb.active
iter_list = [x for x in range(1, 11)]
iter_tuple = tuple(iter_list)
ws.append(iter_tuple)
wb.save('sample.xlsx')
딕셔너리 데이터를 append 메서드에 넘겨줄 때, 각 열에 대한 문자 또는 숫자로 값이 대입되는 셀을 지정할 수 있다.
아래의 코드에서 처럼 append에 넘겨준 딕셔너리 데이터는 A열 부터가 아닌 B열부터 입력되어 있음을 확인할 수 있다.
# openpyxl 3.0.7
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
iter_dict_letters = {'B': 2, 'D': 4, 'F': 6, 'H': 8, 'J': 10}
iter_dict_numbers = { 2: 2, 4: 4, 6: 6, 8: 8, 10: 10}
ws.append(iter_dict_letters)
ws.append(iter_dict_numbers)
wb.save('sample.xlsx')
'코딩 > 파이썬과 엑셀' 카테고리의 다른 글
openpyxl로 엑셀 다루기 019. 수식 입력 (0) | 2021.07.19 |
---|---|
openpyxl로 엑셀 다루기 018. Cell.number_format 속성으로 셀 서식 설정 (0) | 2021.07.17 |
openpyxl로 엑셀 다루기 016. get_column_letter 함수로 열에 대한 문자 얻기 (column letter) (0) | 2021.07.14 |
openpyxl로 엑셀 다루기 015. Worksheet.values 프라퍼티로 셀의 값 얻기 (0) | 2021.07.11 |
openpyxl로 엑셀 다루기 014. Worksheet.rows 및 Worksheet.columns 프라퍼티로 셀 객체 얻기 (0) | 2021.07.10 |