반응형

엑셀정리 3

[openpyxl] 행이나 열 전체를 복사해서 이동

앞에서는 그리고 복사할 때는 그냥 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이 쓰는 칼럼 넘버. 종종 쓰세요. 유용합니다..

[openpyxl]특정 행, 열 등을 이동 할 때

밑에 설명에 이어서 특정 행, 특정 열 등을 옮기고 싶다고 하면, move.range() 을 이용하면 됩니다. 예를 들어, ws를 sheet으로 설정해놓고 특정 열(A1부터 J10까지)을 10열 밑으로 이동시켜라 하면, ws1.move_range("A1:A10", rows=10, cols=0) (자꾸 명령어에 row's', col's' 끝에 s를 두는 걸 까먹네요.. 헷갈리지 마시길). 결과는 다음과 같이 나옵니다.

[openpyxl] 여러 엑셀 파일을 하나의 파일 안에 정리해서 넣기

openpyxl을 사용하는 가장 큰 이유 중 하나가 수십, 수백, 수천 개의 엑셀 파일을 하나의 엑셀 파일로 정리해서 놓기 위함일 겁니다. 물론 아주 완벽한 형태로는 못할지라고 하더라도 말이죠. 오늘은 그간 배운 명령 몇 개를 갖고 간단하게 정리하는 법을 해볼까 합니다. 좋은 예가 선관위 자료인 것 같아요. 2020년 총선 자료를 보면 각 지역구(예를 들어 강남구 갑)마다 여당과 야당이 얼마나 많은 득표를 했냐는 건 알 수 있는데 문제는 선관위가 개별적인 엑셀 파일을 만들어서 전체 지역 (예를 들어 서울)을 보기 어려움이 있다는 데 있습니다. 그래서 이 자료들을 한 폴더에 넣고 그 파일의 핵심 내용만을 추출해서 엑셀 파일 하나로 만들어보는 작업을 해보겠습니다. 일단 라이브러리 데려오고 아래처럼 루프를 만..

반응형