반응형

파이썬엑셀 5

[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년 총선 자료를 보면 각 지역구(예를 들어 강남구 갑)마다 여당과 야당이 얼마나 많은 득표를 했냐는 건 알 수 있는데 문제는 선관위가 개별적인 엑셀 파일을 만들어서 전체 지역 (예를 들어 서울)을 보기 어려움이 있다는 데 있습니다. 그래서 이 자료들을 한 폴더에 넣고 그 파일의 핵심 내용만을 추출해서 엑셀 파일 하나로 만들어보는 작업을 해보겠습니다. 일단 라이브러리 데려오고 아래처럼 루프를 만..

[openpyxl]  excel 파일 저장하기 전에 파이썬 콘솔에서 결과 미리 프린트해서 보는 법

내용이 방대하면 추천하는 방법은 아닙니디만, 몇 개의 셀 정도만 있고 openpyxl로 내용이 변경되거나 추가된 내용을 아나콘다나 주피터 등에서 바로 확인하려면 함수를 만들어서 하는 게 편합니다. 저도 외부에서 가져온 방법이긴 합니다만 다음과 같이 함수를 정의하고 출력해주면 좋습니다. def print_rows(ws): row_string = "" for row in ws.iter_rows(min_row=1, max_col=ws.max_column, max_row=ws.max_row): for cell in row: row_string += "{:

[openpyxl] 엑셀 칼럼 (알파벳)이 몇 번째 칼럼인지 알고 싶다면?

엑셀은 칼럼을 번호를 쓰는 게 아니라 알파벳으로 쓰죠? 그래서 때론 칼럼 인덱스를 원하는 경우가 있는데요. 이 때는 get_column_letter나 column_index_from_string 함수를 쓰면 됩니다. 이건 뭐 굳이 엑셀 파일을 불러오거나 할 것도 없구요. 함수 불러온다음에 엑셀에서 200번째 칼럼의 알파벳은 엑셀로 뭐냐? from openpyxl.utils.cell import get_column_letter get_column_letter(200) 이러면 GR인 것을 알 수 있습니다. 반대로 엑셀 칼럼 알파벳이 AAA면 이게 도대체 몇 번째 칼럼인거야라고 묻는다면 from openpyxl.utils.cell import column_index_from_string column_index..

카테고리 없음 2020.05.27

[openpyxl] 파이썬으로 엑셀 셀에 있는 내용 입력 및 파악

파이썬과 엑셀을 연결해주는 강력한 라이브러리 openpyxl에 대해 알아보고자 합니다. 오늘은 기본부터 시작해봅니다. 우선 해당 워킹 폴더를 바꿔주고, 여기서 기존 엑셀 파일이 있으면 읽어줍니다. 여기서는 21대 총선 자료를 한 번 보도록 할까요? (강남구갑) import openpyxl import os 이후에 폴더 변경하고 os.getcwd() os.chdir("/Users/xxx/Downloads/제21대 국회의원선거(재보궐 포함) 투표구별 개표결과/지역구") 그 다음에 load_workbook를 써야 합니다. wb=openpyxl.load_workbook("1서울/개표상황(투표구별)_강남구갑.xlsx") sheet이 하나밖에 없는데, 맨 처음 sheet의 제목을 알아봅니다. ws=wb.worksh..

반응형