Python/Python Pandas

Python Pandas & openpyxl : border (셀의 테두리 설정)

CosmosProject 2024. 2. 26. 22:53
728x90
반응형

 

 

 

cell 객체의 border 옵션을 조절하면 cell의 테두리를 설정할 수 있습니다.

 

import pandas as pd
from openpyxl.styles import Border, Side


dict_test = {
    'col1': [1, 2, 3, 4, 5],
    'col2': ['a', 'b', 'c', 'd', 'e'],
    'col3': [1234, 0.27383720, 39372, None, 102947291.293472],
    'col4': [0.9, 0.5238, 0.13, 0.0028, 1024.29278],
}

df_test = pd.DataFrame(dict_test)

xlsx_writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')

df_test.to_excel(xlsx_writer, sheet_name='test', index=False)


worksheet = xlsx_writer.sheets['test']
cell = worksheet['B3']  # B3 cell의 객체를 가져옴
cell.border = Border(
    left=Side(border_style='double', color='ffff6347'),  # B3 cell의 왼쪽 border를 설정
    right=Side(border_style='thin', color='ffff6347'),  # B3 cell의 오른쪽 border를 설정
    top=Side(border_style='dotted', color='ffff6347'),  # B3 cell의 위쪽 border를 설정
    bottom=Side(border_style=None, color='ffff6347')  # B3 cell의 아래쪽 border를 설정 (border_style=None으로 지정 시 테두리 없음을 의미)
)


xlsx_writer.close()

 

위 코드의 결과는 다음과 같습니다.

 

 

B3 cell에 테두리가 설정된 것을 볼 수 있습니다.

 

 

border_style에 적용할 수 있는 스타일 종류

border_style = {'dashDot', 'dotted', 'mediumDashed', 'slantDashDot', 'thin', 'mediumDashDot', 'dashDotDot', 'hair', 'medium', 'dashed', 'mediumDashDotDot', 'double', 'thick'}

 

 

 

 

 

728x90
반응형