본문 바로가기

파이썬

파이썬 openpyxl로 엑셀 다루기: 기본 사용법 #엑셀 자동화 첫걸음 엑셀은 어떠한 배경지식이 없어도 손쉽게 데이터를 관리할 수 있는 매우 직관적인 프로그램입니다. 약간의 파이썬 코드로 이런 훌륭한 프로그램을 다룰 수 있습니다. 이미 잘 개발된 라이브러리가 있으니까요. 이번 포스팅에서는 openpyxl 라이브러리로 엑셀을 다루는 가장 기본적인 방법들에 대해서 소개하겠습니다. 엑셀 용어 설명 본격적으로 파이썬 코드를 작성하기 전에, 앞으로 계속 사용될 엑셀에 관련된 몇 가지 용어를 알아보겠습니다. 용어 설명 workbook (워크북) 엑셀 파일(통합 문서)을 의미합니다. sheet (시트) 엑셀 파일 내 컨텐츠를 분할하는 데 사용되며, 여러개의 시트가 있을 수 있습니다. cell (셀) 엑셀에서 가장 작은 단위로, 열을 나타내는 문자와 행을 나타내는 숫자의 조합으로 표시합니.. 더보기
파이썬으로 두 개의 엑셀 파일을 비교하기: excel diff 엑셀로 데이터를 정리해서 관리하다 보면 종종 동일한 양식의 두 파일을 비교해야 할 때가 있습니다. 과거에 만들어 놓은 파일 A와 새로 업데이트한 파일 B를 비교하는 경우 말입니다. 이렇게 두 개의 파일을 비교할 때 확인하고 싶은 내용은 보통 세 가지 정도 일 것 같은데요. 1. 새로 생긴 데이터 2. 없어진 데이터 3. 정보가 변경된 데이터 이번 포스팅에서 이런 작업을 파이썬 판다스 라이브러리를 사용해서 처리하는 방법을 다루려 합니다. 약간 난이도가 있어서 판다스 자체가 처음이시라면 조금 어려울지도 모르겠습니다. 예를 들어 다음과 같이 생긴 두 개의 엑셀 파일이 있습니다. 두 파일의 차이점을 찾아서 그 결과를 새로운 엑셀 파일로 만들어주는 코드를 작성하겠습니다. 삭제된 데이터와 새로 추가된 데이터를 찾아.. 더보기
파이썬 문자열 포매팅은 f-string이 제일이다 파이썬 3.6 버전부터는 f-string이라는 문자열 포매팅 기능이 추가되었습니다. 이전의 문자열 포매팅 방법들에 비해 훨씬 가독성도 좋고 더 직관적으로 사용할 수 있다는 장점이 있습니다. f-string을 사용하기 위해서는 다음과 같이 문자열을 나타내는 따옴표 앞에 f를 붙여주면 됩니다. name = "Jack" print(f"Hello, {name}") # Hello, Jack 접두사 f를 붙여줌으로써 문자열 안에 변수를 바로 집어넣을 수 있게 되었습니다. 만약 변수 name의 값을 새로 부여한다면 함수의 출력 결과는 달라집니다. name = "Jack" print(f"Hello, {name}") # Hello, Jack name = "Amy" print(f"Hello, {name}") # Hello.. 더보기
파이썬 Plotly 버블 차트 그리기 (Bubble charts) Plotly 라이브러리를 이용해서 버블 차트를 그리는 방법을 알아보겠습니다. 이번에는 그동안의 포스팅과는 다르게 plotly.express라는 비교적 최근 기능을 활용하겠습니다. plotly.express는 사용이 쉽고 빠르게 그래프를 그릴 수 있다는 장점이 있습니다. 다만 아직은 기존의 방법과 비교하면 세부적인 설정까지는 지원되지 않는 부분이 있습니다. 하지만 확실히 편합니다. 그리고 버블 차트는 특히 더 그렇고요. 기본 버블 차트 그리기 (plotly.express 사용) 우선 라이브러리를 불러온 다음 샘플 데이터를 만듭니다. # 플랏리 익스프레스 라이브러리를 불러옵니다. import plotly.express as px # 샘플 데이터를 불러옵니다. df = px.data.gapminder() # .. 더보기
파이썬 Plotly 막대 그래프 그리기 (Bar charts) Plotly 라이브러리를 사용해서 막대그래프를 그리는 방법을 알아보겠습니다. 이번 포스팅에서는 총 세 가지 타입의 막대그래프를 다루겠습니다. 1. 하나의 세로 막대그래프 2. 여러 개의 세로 막대그래프 3. 누적 세로 막대그래프 사용할 데이터는 Plotly 라이브러리에 내장되어있는 "요일별(목금토일) 성별 매출과 팁 금액 데이터"입니다. 이 데이터를 불러와서 데이터프레임의 형태로 사용하겠습니다. 불러오는 코드는 다음과 같습니다. # 라이브러리 불러오기 import plotly.express as px import pandas as pd # 데이터 불러오기 df = px.data.tips() df.head() """ total_billtipsexsmokerdaytimesize 016.991.01Female.. 더보기
파이썬 Plotly 선 그래프 그리기 (Line charts) Plotly 라이브러리를 사용해서 주피터 노트북에 선 그래프를 그리는 방법을 소개하겠습니다. Plotly 선 그래프를 세 가지 형태로 살펴보겠습니다. ①산점도 스타일 ② 선 그래프 ③ 선 그래프 + 마커 선 그래프는 산점도와 달리 x 값당 하나의 데이터 포인트만 있습니다. 사용할 데이터는 random 모듈을 이용해서 임의의 숫자로 만들었습니다. import numpy as np import pandas as pd # plotly 라이브러리 불러오기 import plotly.offline as pyo import plotly.graph_objs as go # 임의의 숫자 데이터 생성 np.random.seed(2) x_values = np.linspace(0, 1, 100) y_values = np.ran.. 더보기
파이썬 Plotly 산점도 그래프 그리기 (Scatter plots) Plotly 라이브러리를 사용해서 Jupyter Notebook에서 산점도(Scatter plots)를 그리는 방법을 알아보겠습니다. 1. 하나의 산점도 그리기 2. 두 개 이상의 산점도 그리기 3. 마커(marker) 서식 변경하기 (모양, 색깔, 크기) 사용할 데이터는 random 모듈을 사용하여 만든 임의의 숫자로 이루어진 데이터프레임입니다. import numpy as np import pandas as pd # plotly 라이브러리 불러오기 import plotly.offline as pyo import plotly.graph_objs as go # 임의의 숫자로 이루어진 데이터프레임 생성 df1 = pd.DataFrame(np.random.randint(0, 100, (100, 2)), co.. 더보기
파이썬 코드로 폴더 생성하고 삭제하기 파이썬에는 Operating System를 제어할 수 있는 os 모듈이 있습니다. 이 모듈을 사용해서 폴더를 생상하고 삭제하는 방법을 알아보겠습니다. import os os.listdir('C:/Users/User/Desktop/TestFolder') # [] 실습을 위해서 바탕화면에 TestFolder라는 빈 폴더를 만들었습니다. os 모듈을 입력하고 해당 폴더의 전체 파일 목록을 읽었습니다. 방금 만든 빈 폴더이기 때문에 아무것도 빈 리스트를 출력한 것을 볼 수 있습니다. os.mkdir() : 폴더 만들기 os.mkdir('폴더 경로')와 같이 사용합니다. 폴더가 이미 존재한다면 FileExistsError가 발생합니다. os.mkdir('C:/Users/jeong/Desktop/TestFolder.. 더보기