Python/Python Pandas

Python Pandas & openpyxl : number_format (숫자의 format 정하기)

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



 

 

cell 객체의 number_format을 이용하면 숫자의 형식을 지정할 수 있습니다.

 

import pandas as pd


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']

tup_cells = worksheet['C:C']  # C:C 범위에 있는 Cell 참조 (단, data set이 있는 범위의 Cell만 참조)
for cell in tup_cells:
    cell.number_format = '#,##0.00'  # 얻어진 각각의 Cell에 대한 number format을 설정

tup_cells = worksheet['D:D']  # C:C 범위에 있는 Cell 참조 (단, data set이 있는 범위의 Cell만 참조)
for cell in tup_cells:
    cell.number_format = '#,##0.00%'  # 얻어진 각각의 Cell에 대한 number format을 설정


xlsx_writer.close()

 

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

 

 

C column에 있는 숫자의 format은 #,##0.00으로,

D column에 있는 숫자의 format은 #,##0.00%의 % format으로 바뀐 것을 알 수 있습니다.

 

 

 

 

 

 

728x90
반응형