반응형
앞에서는 그리고 복사할 때는 그냥 value 옵션을 이용해서 하면 된다고 했는데, 행이나 열 전체를 옮길 때는 조금 살짝 복잡할 수 있습니다.
우선 1행 전체를 다 옮겨서 10줄 아래로 옮긴다고 가정하면,
일단 전체 rows를 지정해줘야 합니다.
rows=ws.iter_rows(min_row=0, max_row=0)
그리고 각 row를 읽어주고 그 row에 있는 cell value 값을 다시 읽어주고 옮겨주면 됩니다.
for row in rows:
for cell in row:
cell_new=ws.cell(row=15, column=cell.col_idx, value=cell.value)
여기서 cell.col_inx는 칼럼 배열 숫자를 얘기합니다. cell이 쓰는 칼럼 넘버. 종종 쓰세요. 유용합니다. 결과는 다음과 같습니다.
칼럼 전체를 옮길 때는 다음처럼
columns=ws.iter_cols(min_col=1, max_col=2)
for col in columns:
for cell in col:
cell_new=ws.cell(row=cell.row, column=15, value=cell.value)
여기서는 cell.row를 썼어요. cell.row_idx라는 게 있는 줄 알았는데 없더라구요. 그냥 cell.row로 씀 될 듯요.
반응형
'Python > PYTHON OpenPyXL (python and excel)' 카테고리의 다른 글
[openpyxl] 특정 셀을 복사해서 붙여 넣을 때 (0) | 2021.02.21 |
---|---|
[openpyxl] 특정 셀을 옮길 때 (0) | 2021.02.17 |
[openpyxl]특정 행, 열 등을 이동 할 때 (0) | 2021.02.13 |
[openpyxl] 새로운 행, 열을 더하고 삭제하는 법 #2: (0) | 2020.08.10 |
[openpyxl] sheet 이름 파악하기, 필요없는 sheet 지우기 (0) | 2020.06.22 |