pandas 출력 excel 파일에 헤더 제목, 스타일 장식기 추가
import os
import pandas as pd
from xlsxwriter.utility import xl_range
def decoratorToExcel(excel_name: str = "test", excel_title: str = "test", excel_dir: str = None):
"""
,
:param excel_dir:
:param excel_title:
:param excel_name:
:return:
"""
def midFunc(cls_func):
def inner(self, *args, **kwargs):
data: pd.DataFrame = cls_func(self, *args, **kwargs)
try:
if excel_dir:
os.makedirs(excel_dir)
except BaseException:
pass
writer = pd.ExcelWriter(
'%s%s.xlsx' % (
excel_dir + "/" if excel_dir else "", excel_name,), datetime_format='yyyy/mm/dd')
data.to_excel(
writer,
engine='xlsxwriter',
sheet_name='sheet',
startrow=2,
header=False,
float_format="%.2f")
workbook = writer.book
worksheet = writer.sheets['sheet']
worksheet.set_row(0, 20)
worksheet.set_row(1, 30)
header_format = workbook.add_format({
'bold': True,
'font_color': 'black',
'text_wrap': True,
'align': 'center',
'fg_color': '#6BA81E',
'border': 1})
rl = data.columns.tolist()
rl.insert(0, ' ')
cell_range = xl_range(0, 0, 0, len(rl) - 1)
merge_format = workbook.add_format(
{'align': 'center', 'bold': True, 'fg_color': '#009688', 'font_color': "#000000"})
worksheet.merge_range(cell_range, excel_title, merge_format)
for col_num, value in enumerate(rl):
worksheet.write(1, col_num, value, header_format)
writer.save()
return
return inner
return midFunc
class Test:
@decoratorToExcel(excel_name=" ", excel_title=" sheet")
def setExcelData(self) -> pd.DataFrame:
"""
excel
:return: DataFrame
"""
data: pd.DataFrame = pd.DataFrame({"name": " ".split(), "age": "12 13 15".split()})
return data
if __name__ == '__main__':
Test().setExcelData()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jupyter 공식 DockerHub에 대한 메모에 기재되어 있다. base-notebook minimal-notebook scipy-notebook tensorflow-notebook datascience-notebook pyspark-notebook all-s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.