Python 엑셀 xlsx 파일을 만들 수 있는 XlsxWriter 라이브러리 알아보기
Python 엑셀 xlsx 파일을 만들 수 있는 XlsxWriter 라이브러리 알아보기
오늘은 Python으로 엑셀의 xlsx 포맷 파일을 만들 수 있는 XlsxWriter 패키지를 알아보려 합니다.
XlsxWriter 설치
우선 virtualenv로 파이썬 환경을 분리해줍니다.
1
pip3 install virtualenv
1
virtualenv -mvenv env
env라는 이름의 가상 환경을 생성합니다.
1
source env/bin/activate
가상환경을 폴더에서 활성화합니다.
1
pip3 install --upgrade pip
pip의 업그레이드가 존재하는지 확인하고 진행합니다.
1
pip install XlsxWriter
pip로 XlsxWriter를 설치합니다.
hello world!
1
import xlsxwriter
xlsxwriter를 가져옵니다.
1
2
3
workbook = xlsxwriter.Workbook('hello.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello world')
hello.xlsx라는 파일을 만들고 워크시트를 추가합니다.
그리고 해당 시트의 A1 위치에 Hello world를 기록합니다.
1
workbook.close()
모든 작업을 끝내고 파일을 닫습니다.
write
이번에는 tuple을 이용해서 엑셀로 기록해보려 합니다.
1
import xlsxwriter
xlsxwriter를 가져옵니다.
1
2
workbook = xlsxwriter.Workbook('test1.xlsx')
worksheet = workbook.add_worksheet()
test1.xlsx라는 파일을 만들고 워크시트를 추가합니다.
1
2
3
4
5
6
test_tuple = (
['name', 'count'],
['test_name_1', 10],
['test_name_2', 20],
['test_name_3', 30],
)
엑셀에 기록할 튜플 타입의 변수를 만듭니다.
1
2
3
4
5
row = 0
for name, count in test_tuple:
worksheet.write(row, 0, name)
worksheet.write(row, 1, count)
row += 1
for문을 수행하면서 각 row에 0번째, 1번째의 칸에 값을 입력해줍니다.
1
worksheet.write(row, 1, '=SUM(B2:B4)')
마지막으로 엑셀 sum 함수를 이용하여 더해줄 수도 있습니다.
1
workbook.close()
모든 작업을 끝내고 파일을 닫습니다.
chart
차트도 파이썬에서 만들 수 있습니다.
1
import xlsxwriter
xlsxwriter를 가져옵니다.
1
2
workbook = xlsxwriter.Workbook('test2.xlsx')
worksheet = workbook.add_worksheet()
test2.xlsx라는 파일을 만들고 워크시트를 추가합니다.
1
2
data = [10, 20, 30, 40, 50]
worksheet.write_column('A1', data)
데이터를 가지고 A1위치에 작성해줍니다.
1
2
3
chart = workbook.add_chart({'type': 'line'})
chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
worksheet.insert_chart('C1', chart)
line 형식의 차트를 추가하고, 값을 A1부터 A5까지 지정해줍니다.
마지막으로 C1의 위치에 차트를 그려줍니다.
1
workbook.close()
모든 작업을 끝내고 파일을 닫습니다.
picture
1
worksheet.insert_image('A1', 'test.png')
그림도 위와 같은 방식으로 시트를 만들고, insert_image로 특정 위치에 특정 그림을 넣을 수 있습니다.
This post is licensed under CC BY 4.0 by the author.