본문 바로가기

분류 전체보기

파이썬 BeautifulSoup 사용법: 부모 태그를 찾아야 한다면 .parent 웹사이트에서 원하는 정보를 수집하는 대개의 경우라면 보통 맨 위에서부터 차례대로 원하는 정보가 있는 위치까지 찾아 내려가기 마련입니다. 하지만 종종 이 방법으로 해결하기가 애매한 상황이 있습니다. 예를 들면 내가 원하는 정보를 가진 태그의 부모 태그들이 아이디나 클래스 등 무언가 구분하여 찾아낼 수 있는 값을 가지고 있지 않은 경우입니다. 이럴 때 사용할 수 있는 좋은 방법 중 하나는 .parent 속성을 이용하는 것입니다. 이 속성을 이용하면 해당 엘리먼트의 부모에 접근할 수 있습니다. 생각을 조금 바꿔서 아래서부터 차례대로 내가 원하는 정보가 있는 위치까지 찾아 올라가는 겁니다. 다음과 같은 html 문서를 이용해서 BeautifulSoup의 .parent 속성을 사용해보겠습니다. 10,000원 .p.. 더보기
파이썬 openpyxl을 사용해서 읽어온 엑셀을 pandas 데이터프레임으로 변환하기 openpyxl을 이용해서 엑셀 파일을 읽어오고 그 내용을 판다스 데이터프레임으로 변환하는 방법을 알아보겠습니다. 다음 사진과 같이 생긴 샘플 데이터를 이용하겠습니다. openpyxl을 이용해서 샘플 엑셀 파일을 불러오겠습니다. import openpyxl wb = openpyxl.load_workbook('sample.xlsx') sheet = wb.active 엑셀 시트 데이터를 데이터프레임으로 바꾸는 방법 openpyxl의 시트 객체에는 values는 속성이 존재합니다. 이걸 활용하면 손쉽게 데이터프레임으로 변환할 수 있습니다. import pandas as pd df = pd.DataFrame(sheet.values) df 코드 한 줄로 데이터프레임을 만든 것을 확인할 수 있습니다. 다만 한 가지.. 더보기
파이썬 openpyxl로 엑셀 다루기: 기본 사용법 #엑셀 자동화 첫걸음 엑셀은 어떠한 배경지식이 없어도 손쉽게 데이터를 관리할 수 있는 매우 직관적인 프로그램입니다. 약간의 파이썬 코드로 이런 훌륭한 프로그램을 다룰 수 있습니다. 이미 잘 개발된 라이브러리가 있으니까요. 이번 포스팅에서는 openpyxl 라이브러리로 엑셀을 다루는 가장 기본적인 방법들에 대해서 소개하겠습니다. 엑셀 용어 설명 본격적으로 파이썬 코드를 작성하기 전에, 앞으로 계속 사용될 엑셀에 관련된 몇 가지 용어를 알아보겠습니다. 용어 설명 workbook (워크북) 엑셀 파일(통합 문서)을 의미합니다. sheet (시트) 엑셀 파일 내 컨텐츠를 분할하는 데 사용되며, 여러개의 시트가 있을 수 있습니다. cell (셀) 엑셀에서 가장 작은 단위로, 열을 나타내는 문자와 행을 나타내는 숫자의 조합으로 표시합니.. 더보기
미국 배당주 관리는 이 앱 하나로 끝 #더 리치 저는 경제적 자유를 달성하기 위한 수단 중 하나로 미국 주식 투자를 하고 있습니다. 좀 더 정확히 말하면 성장주와 배당 성장주 위주의 포트폴리오를 구성하고 있습니다. 미국 주식 투자를 얘기할 때 또 빼놓을 수 없는 부분이 바로 이 배당입니다. 연배당이 일반적인 우리나라와는 다르게 미국은 분기 배당과 월 배당을 하는 기업이 대부분입니다. 때문에 배당을 기다리는 재미가 쏠쏠합니다. 포트폴리오를 조금만 신경 쓴다면 매달 배당금이 들어옵니다. 예를 들어 '코카콜라', '스타벅스', '펩시'와 같이 우리가 잘 알고 있는 기업 세 개의 주식만 들고 있어도 매달 배당이 나옵니다. (배당 지급일 기준) 투자한 종목이 몇 개 안되면 이걸 머리로 기억하든 엑셀로 관리하든 할 수 있겠지만 개수가 조금씩 늘어나면 너무 번거로.. 더보기
유튜브 프리미엄 공짜로 쓰는 효과 만들기: 브레이브 브라우저 유튜브 프리미엄의 가장 큰 장점은 광고가 없다는 점이죠. 동영상 볼 때 끊김 없이 볼 수 있으니까요. 그리고 또 다른 장점 하나는 백그라운드 재생이라 생각합니다. 이동 중에 창밖을 보면서도 영상을 들을 수 있으니까요. 이게 참 좋은데, 매달 비용을 내는 게 때로는 아깝게 느껴집니다. 그런데 유튜브 광고가 안 나오고 동영상 백그라운드 재생도 가능한 웹 브라우저가 있습니다. 궁금해서 안 써 볼 수가 없습니다. 구글 플레이 스토어에 들어가셔서 "브레이브 브라우저"라고 검색하시면 나옵니다. 벌써 수많은 분들이 사용하고 있어요. 장점 1: 광고 없이 영상이 바로 재생된다. 브레이브 브라우저를 이용해서 유튜브 영상을 재생시키면 놀랍게도 바로 됩니다. 브레이브 브라우저는 사실 유튜브 광고만 막아주는 게 아니라 내가 .. 더보기
파이썬으로 두 개의 엑셀 파일을 비교하기: 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() # .. 더보기