반응형

전체 글 88

SELECT, FROM, DISTICT, COUNT

SELECT * FROM table1; SQL의 기본은 테이블에서 열을 뽑아내는 겁니다. 이 때는 SELECT 열 이름 FROM 테이블 이름입니다. 소문자로 써도 상관은 없으나 명령어는 대문자로 적어주는 게 SQL의 기본 규범입니다. table1에서 c1칼럼을 뽑아내라. SELECT c1 FROM table1; 두 개 이상의 칼럼(열)을 뽑을 때는 아래와 같이. SELECT c1, c2 FROM table1; DISTINCT는 고유값을 뽑아내라는 뜻입니다. 예를 들어 이름 열을 추출했는데 공교롭게도 동명 이인이 있을 수 있죠 이 경우 동명이인의 이름을 두 번 뽑아내는 게 아니라 그냥 그 이름 하나만 뽑아내라고 하는 게 DISTINCT의 기능입니다. unique 값만 검색하는 게 DISTINCT의 기능입니..

SQL 2020.08.29

[openpyxl] 새로운 행, 열을 더하고 삭제하는 법 #2:

우선 sheet를 하나 만들어봅니다. from openpyxl import Workbook wb=Workbook() ws1=wb["Sheet"] 오늘 쓸 명령어는 insert_rows, delete_rows, insert_cols, delete_cols입니다. 이름에서 어떤 기능이 있는지 금방 아실 겁니다. 여기서 조심해야 할 것은 맨 처음 행은 0으로 표시하되, 열은 1로 시작한다는 것입니다. 예를 들어 빈 한 줄을 더해라 하면, ws.insert_rows(0) 맨 처음 줄이 아니라 그 다음 줄에 한 줄을 더해라 하면, ws.insert_rows(1) 그런데 열은 1부터 시작하니까 만약에 빈 열을 첫번째 칼럼으로 더 해라 하면, ws.insert_cols(1) 1행에서 5행까지 일괄적으로 없애라 하면 ..

[openpyxl] sheet 이름 파악하기, 필요없는 sheet 지우기

어떤 엑셀 파일을 과도하게 많은 sheet를 갖고 있어서 이름조차 파악하기 어려울 때가 있습니다. sheet 수가 적더라도 이름이 길어서 정확한 제목을 쉽게 파악하지 못하는 경우도 있구요. 이럴 경우를 위해서 만들어진 함수가 있습니다. 제가 만든 임의의 파일을 열고 여기에 있는 sheet의 이름을 파악하면 다음과 같이 나오네요. wb_new=openpyxl.load_workbook("example.xlsx") wb_new.get_sheet_names() ['uhaha', 'kpop', 'jpop', 'kdrama', 'jdrama'] 이 중에서 맨 처음 sheet가 필요없어서 지우려면 다음과 같이. del wb_new['uhaha'] 다시 sheet 이름을 파악하면 첫번째 sheet가 사라진 것을 알 수..

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

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

반응형