Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python xlsxwriter 모듈로 Excel 파일 생성하고 데이터 쓰기 완벽 가이드

Python은 방대한 라이브러리 생태계를 갖추고 있어 Microsoft Excel과 같이 널리 사용되는 데이터 처리 도구와 손쉽게 연동할 수 있습니다. 이 글에서는 xlsxwriter 모듈을 활용해 Excel 파일을 생성하고 데이터를 작성하는 방법을 예제와 함께 살펴봅니다. 다만 xlsxwriter는 새 파일을 만들어 쓰는 용도이며, 이미 존재하는 Excel 파일에는 데이터를 쓸 수 없다는 점에 유의하세요.

xlsxwriter 설치하기

xlsxwriter는 표준 라이브러리가 아니므로 먼저 pip를 통해 설치해야 합니다.

pip install XlsxWriter

각 셀에 직접 쓰기

셀 이름(예: A1, B2)을 지정하면 워크시트의 특정 셀에 직접 값을 쓸 수 있습니다. 아래 예제에서는 먼저 워크북(Workbook)을 생성하고, 여기에 워크시트를 추가한 뒤, write() 메서드를 사용해 각 셀에 데이터를 작성합니다.

예제 코드

import xlsxwriter

# xlsx 파일 생성
xlsx_File = xlsxwriter.Workbook('Schedule.xlsx')

# 새 워크시트 추가
sheet_schedule = xlsx_File.add_worksheet()

# 워크시트에 데이터 작성
sheet_schedule.write('A1', 'Day')
sheet_schedule.write('A2', 'Mon')
sheet_schedule.write('A3', 'Tue')

sheet_schedule.write('B1', 'Schedule')
sheet_schedule.write('B2', 'Final Exam')
sheet_schedule.write('B3', 'party')

# Excel 파일 닫기
xlsx_File.close()

실행 결과

위 코드를 실행하면 Schedule.xlsx 파일이 생성되며, A열에는 요일 정보가, B열에는 일정 내용이 각각 저장됩니다.

Python xlsxwriter 모듈로 Excel 파일 생성하고 데이터 쓰기 완벽 가이드

행 단위로 직접 쓰기

두 번째 방식에서는 데이터를 쓰기 시작할 행(row)열(column) 번호를 먼저 초기화합니다. 그런 다음 for 루프를 돌면서 행 번호를 하나씩 증가시켜 필요한 값들을 동적으로 추가할 수 있습니다. 아래 예제에서는 행만 추가하지만, 루프 안에 루프를 중첩하면 열과 행을 모두 동적으로 생성하는 것도 가능합니다.

예제 코드

import xlsxwriter

# xlsx 파일 생성
xlsx_File = xlsxwriter.Workbook('Days.xlsx')

# 새 워크시트 추가
sheet_days = xlsx_File.add_worksheet()

row = 1
column = 1

days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

# 요일 리스트 순회하며 한 행씩 작성
for day in days:
    sheet_days.write(row, column, day)
    row += 1

# Excel 파일 닫기
xlsx_File.close()

실행 결과

위 코드를 실행하면 Days.xlsx 파일의 B2 셀부터 시작해 B열을 따라 월요일부터 토요일까지의 요일이 순서대로 기록됩니다.

Python xlsxwriter 모듈로 Excel 파일 생성하고 데이터 쓰기 완벽 가이드

정리

xlsxwriter는 셀 주소(A1) 또는 행·열 인덱스 두 가지 방식으로 데이터를 작성할 수 있는 강력한 모듈입니다. 셀 주소 방식은 소량의 데이터를 명확하게 배치할 때 유용하고, 인덱스 + 반복문 방식은 리스트나 데이터베이스 결과처럼 규칙적인 대량 데이터를 처리할 때 특히 효율적입니다.