반응형
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
- c#
- Google Excel
- gas
- Kotlin
- Java
- array
- string
- Google Spreadsheet
- hive
- PySpark
- Github
- django
- Redshift
- Excel
- PANDAS
- dataframe
- google apps script
- Apache
- math
- list
- Tkinter
- PostgreSQL
- SQL
- GIT
- matplotlib
- numpy
- Mac
- Python
- 파이썬
Archives
- Today
- Total
달나라 노트
Python Pandas & openpyxl : columns, rows (column에 대한 객체 얻어오기, row에 대한 객체 얻어오기) 본문
Python/Python Pandas
Python Pandas & openpyxl : columns, rows (column에 대한 객체 얻어오기, row에 대한 객체 얻어오기)
CosmosProject 2024. 2. 26. 23:15728x90
반응형
worksheet 객체의 columns 속성을 이용하면
현재 담겨진 dataset의 모든 column에 대한 객체를 얻어옵니다.
각각의 column 객체는 해당 column에 존재하는 cell 객체들이 tuple에 담겨있는 형태로 존재합니다.
import pandas as pd
dict_test = {
'col1': [1, 2, 3, 4, 5],
'col2': ['apple', 'banana', 'cloud', 'drizzle', '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']
columns = worksheet.columns # column 객체 얻어옴
print(columns) # column 객체 확인
for col in columns: # column 객체는 각 column에 있는 cell 객체의 집합이기 때문에 for loop 사용
print(col) # 각 column 객체에는 해당 column에 존재하는 cell 객체들이 담겨있음
for cell in col:
print(cell)
print('')
xlsx_writer.close()
-- Result
<generator object Worksheet._cells_by_col at 0x7fe5db799690>
(<Cell 'test'.A1>, <Cell 'test'.A2>, <Cell 'test'.A3>, <Cell 'test'.A4>, <Cell 'test'.A5>, <Cell 'test'.A6>)
<Cell 'test'.A1>
<Cell 'test'.A2>
<Cell 'test'.A3>
<Cell 'test'.A4>
<Cell 'test'.A5>
<Cell 'test'.A6>
(<Cell 'test'.B1>, <Cell 'test'.B2>, <Cell 'test'.B3>, <Cell 'test'.B4>, <Cell 'test'.B5>, <Cell 'test'.B6>)
<Cell 'test'.B1>
<Cell 'test'.B2>
<Cell 'test'.B3>
<Cell 'test'.B4>
<Cell 'test'.B5>
<Cell 'test'.B6>
(<Cell 'test'.C1>, <Cell 'test'.C2>, <Cell 'test'.C3>, <Cell 'test'.C4>, <Cell 'test'.C5>, <Cell 'test'.C6>)
<Cell 'test'.C1>
<Cell 'test'.C2>
<Cell 'test'.C3>
<Cell 'test'.C4>
<Cell 'test'.C5>
<Cell 'test'.C6>
(<Cell 'test'.D1>, <Cell 'test'.D2>, <Cell 'test'.D3>, <Cell 'test'.D4>, <Cell 'test'.D5>, <Cell 'test'.D6>)
<Cell 'test'.D1>
<Cell 'test'.D2>
<Cell 'test'.D3>
<Cell 'test'.D4>
<Cell 'test'.D5>
<Cell 'test'.D6>
반대로 worksheet 객체의 rows 속성을 이용하면
현재 담겨진 dataset의 모든 rows에 대한 객체를 얻어옵니다.
각각의 row 객체는 해당 row에 존재하는 cell 객체들이 tuple에 담겨있는 형태로 존재합니다.
import pandas as pd
dict_test = {
'col1': [1, 2, 3, 4, 5],
'col2': ['apple', 'banana', 'cloud', 'drizzle', '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']
columns = worksheet.rows # row 객체 얻어옴
print(columns) # row 객체 확인
for col in columns: # row 객체는 각 row 있는 cell 객체의 집합이기 때문에 for loop 사용
print(col) # 각 row 객체에는 해당 row에 존재하는 cell 객체들이 담겨있음
for cell in col:
print(cell)
print('')
xlsx_writer.close()
-- Result
<generator object Worksheet._cells_by_row at 0x7f9e75da1690>
(<Cell 'test'.A1>, <Cell 'test'.B1>, <Cell 'test'.C1>, <Cell 'test'.D1>)
<Cell 'test'.A1>
<Cell 'test'.B1>
<Cell 'test'.C1>
<Cell 'test'.D1>
(<Cell 'test'.A2>, <Cell 'test'.B2>, <Cell 'test'.C2>, <Cell 'test'.D2>)
<Cell 'test'.A2>
<Cell 'test'.B2>
<Cell 'test'.C2>
<Cell 'test'.D2>
(<Cell 'test'.A3>, <Cell 'test'.B3>, <Cell 'test'.C3>, <Cell 'test'.D3>)
<Cell 'test'.A3>
<Cell 'test'.B3>
<Cell 'test'.C3>
<Cell 'test'.D3>
(<Cell 'test'.A4>, <Cell 'test'.B4>, <Cell 'test'.C4>, <Cell 'test'.D4>)
<Cell 'test'.A4>
<Cell 'test'.B4>
<Cell 'test'.C4>
<Cell 'test'.D4>
(<Cell 'test'.A5>, <Cell 'test'.B5>, <Cell 'test'.C5>, <Cell 'test'.D5>)
<Cell 'test'.A5>
<Cell 'test'.B5>
<Cell 'test'.C5>
<Cell 'test'.D5>
(<Cell 'test'.A6>, <Cell 'test'.B6>, <Cell 'test'.C6>, <Cell 'test'.D6>)
<Cell 'test'.A6>
<Cell 'test'.B6>
<Cell 'test'.C6>
<Cell 'test'.D6>
728x90
반응형
'Python > Python Pandas' 카테고리의 다른 글
Python Pandas & openpyxl : alignment (텍스트 정렬) (0) | 2024.02.27 |
---|---|
Python Pandas & openpyxl : column width autofit (column 너비 자동맞춤) (0) | 2024.02.26 |
Python Pandas & openpyxl : font (글자 서식 설정) (2) | 2024.02.26 |
Python Pandas & openpyxl : fill (셀에 색상 채우기) (0) | 2024.02.26 |
Python Pandas & openpyxl : border (셀의 테두리 설정) (0) | 2024.02.26 |
Comments