자동화
[파이썬 ] 데이터프레임 엑셀 시트 / 차트 만들기 - pandas / xlsxwriter 모듈
파이썬 서퍼
2021. 1. 14. 15:20
728x90
import pandas as pd
data = {'name' : [ 'Jerry', 'Riah', 'Paul'],
'java' : [ 91, 98, 85],
'basic' : [ 81, 63, 83],
'c++' : [ 65, 83, 98],
}
df = pd.DataFrame(data)
df.set_index('name', inplace=True) # name 열을 인덱스로 지정
print(df)
#---------------------------------------------------------------------------------
# 데이터 작업
writer = pd.ExcelWriter('test_chart.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1') # 시트에 데이터 전달
#---------------------------------------------------------------------------------
# 차트 작업
chart = writer.book.add_chart({'type': 'bar'}) # 가로형막대 차트 객체 생성
name_a = ['Sheet1', 1, 0] # (1, 0)
name_b = ['Sheet1', 2, 0] # (2, 0)
name_c = ['Sheet1', 3, 0] # (3, 0)
categories = ['Sheet1', 0, 1, 0, 3] # (0, 1) 에서 (0, 3) 까지
values_a = ['Sheet1', 1, 1, 1, 3] # (1, 1) 에서 (1, 3) 까지
values_b = ['Sheet1', 2, 1, 2, 3] # (2, 1) 에서 (2, 3) 까지
values_c = ['Sheet1', 3, 1, 3, 3] # (3, 1) 에서 (3, 3) 까지
chart.add_series({'name': name_a, 'categories': categories, 'values': values_a})
chart.add_series({'name': name_b, 'categories': categories, 'values': values_b})
chart.add_series({'name': name_c, 'categories': categories, 'values': values_c})
chart.set_y_axis({'min': 0, 'max': 3, 'major_unit': 1, 'reverse': True})
# 축 주눈금선 크기 : 1 , 축 반전 : True
writer.sheets['Sheet1'].insert_chart(0, 5, chart) # 차트삽입 - 위치(0, 5)
#---------------------------------------------------------------------------------
# 엑셀파일 저장
writer.save()
◎ 생성 가능한 차트 종류
line | 꺾은선형 차트 |
area | 영역형 차트 |
radar | 방사형 |
bar | 가로막대형 |
column | 세로막대형 |
doughnut | 도넛형 |
pie | 원형 |
scatter | 분산형 |
반응형