반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- Redshift
- google apps script
- PySpark
- Tkinter
- string
- array
- Python
- Apache
- Github
- c#
- PANDAS
- GIT
- Mac
- hive
- Excel
- Java
- dataframe
- django
- gas
- numpy
- Google Spreadsheet
- Kotlin
- SQL
- matplotlib
- Google Excel
- PostgreSQL
- list
- math
Archives
- Today
- Total
달나라 노트
Python Pandas & openpyxl : alignment (텍스트 정렬) 본문
728x90
반응형
openpyxl의 alignment를 이용하면 셀에 적힌 텍스트의 정렬을 할 수 있습니다.
import pandas as pd
from openpyxl.styles import Alignment
dict_test = {
'col1': [1, 2, 3, 4, 5],
'col2': ['apple', 'banana', 'cloud', 'dream', 'electron'],
'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['B4']
cell.alignment = Alignment(
horizontal='center', # 가로 방향 정렬 설정
vertical='center' # 세로 방향 정렬 설정
)
xlsx_writer.close()
위 코드는 B4 cell의 객체를 가져와서 B4 cell의 정렬을 하는 코드입니다.
위 코드의 결과는 아래와 같습니다.
B4 cell에 적힌 cloud라는 텍스트가 중앙에 정렬 되어있는 것이 보이시죠.
horizontal='center' -> 가로 방향 정렬을 가운데로 맞춥니다.
vertical='center' -> 세로 방향 정렬을 가운데로 맞춥니다.
아래는 horizontal option, vertical option 각각에 사용할 수 있는 키워드입니다.
- horizontal option = {'right', 'general', 'fill', 'center', 'centerContinuous', 'distributed', 'justify', 'left'}
- vertical option = {'top', 'distributed', 'justify', 'center', 'bottom'}
추가로 Alignment에는 indent 옵션도 있습니다.
import pandas as pd
from openpyxl.styles import Alignment
dict_test = {
'col1': [1, 2, 3, 4, 5],
'col2': ['apple', 'banana', 'cloud', 'dream', 'electron'],
'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['B4']
cell.alignment = Alignment(
indent=10 # 10만큼 indent
)
xlsx_writer.close()
위 코드를 실행한 결과는 다음과 같습니다.
보면 B4 cell에 적힌 텍스트 앞에 공백이 생긴 것을 볼 수 있습니다.
B4 cell을 더블클릭해보면 이 공백이 단순히 space bar 또는 tab으로 이뤄진 것이 아니라 indent되었다는 것을 알 수 있습니다.
728x90
반응형
'Python > Python Pandas' 카테고리의 다른 글
Python Pandas : columns (DataFrame의 column 정보 불러오기.) (0) | 2024.06.28 |
---|---|
Python Pandas : Percentile Rank 계산하기 (백분위 계산하기) (0) | 2024.03.25 |
Python Pandas & openpyxl : column width autofit (column 너비 자동맞춤) (0) | 2024.02.26 |
Python Pandas & openpyxl : columns, rows (column에 대한 객체 얻어오기, row에 대한 객체 얻어오기) (0) | 2024.02.26 |
Python Pandas & openpyxl : font (글자 서식 설정) (2) | 2024.02.26 |
Comments