[파이썬 ] 데이터프레임 엑셀 시트 / 차트 만들기 - 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 | 분산형 |
반응형
'자동화' 카테고리의 다른 글
[파이썬] 이메일 보내기 - SMTP / MIME ( gmail ) (0) | 2021.01.30 |
---|---|
[파이썬 ] 데이터프레임 엑셀 시트 / 차트 만들기 - pandas / openpyxl 모듈 (0) | 2021.01.15 |
[파이썬] PDF 문서에서 텍스트 추출 - Tika (0) | 2020.10.27 |
[파이썬] PDF 문서 병합 / PDF 파일들을 하나로 합치기 - PyPDF2 (0) | 2020.10.26 |
[파이썬] 파워포인트 / 워드 문서를 PDF 파일로 변환하는 방법 ( ppt to pdf / doc to pdf ) - 자동화 (0) | 2020.10.25 |