본문 바로가기

코딩 연습276

네이버 주식 데이터 추출(크롤링), 판다스 그래프 그리기 판다스를 배우는 단계에서 시계열 데이터인 네이버 주식 현황을 크롤링한 코드로 matplotlib와 seaborn으로 그래프를 그리는 코드 연습을 해봤다. 네이버 주식 데이터 크롤링(파이썬) 네이버 주식에 대한 크롤링은 파이썬으로 간단하게 작성이 가능함. 삼성전자 코드로 예시 데이터를 추출했고, 다른 기업으로 변경할 때는 해당 기업의 코드만 변경하면 됨 import requests import time import pandas as pd total_data = [] stock_code = '005930' # 삼성전자 for page in range(1, 11): print(f'Page - #{page}') url = f'https://m.stock.naver.com/api/stock/{stock_code}.. 2024. 3. 30.
판다스 날짜 추출 - 연,월,일 분리 날짜 데이(2023-01-01)에서 연,월,일을 각각 분리하여 다른 열(컬럼)에 저장하는 판다스 날짜 추출 연습 코드. 월, 일의 경우 2자리를 유지하도록 추출하기 위해 문자열 포맷팅을 사용함 판다스로 날짜에서 연,월일, 추출해보기 ▶ 날짜 컬럼이 있는 엑셀 파일 : test.xlsx ▶ 판다스로 엑셀 파일을 불러오기 'test.xlsx' 파일을 읽어와 데이터프레임으로 저장한 후, 그 데이터프레임을 출력하는 작업을 수행함 ▶ 엑셀 파일이 아닌 dict 타입 날짜를 사용하여 연, 월, 일 분리하기 dict를 DataFrame으로 만든 후 날짜 컬럼 'startDt' 열에 대해 to_datetime()와 dt 접근자를 사용하여 연도, 월, 일을 추출하고 각각 'year', 'month', 'day' 열에 저.. 2024. 3. 28.
파이썬 워드클라우드 설치, konlpy Okt() 사용 파이썬 워드클라우드 설치 후 마스크 이미지로 워드클라우드 모양을 만들어 보았는데, konlpy의 Okt()를 사용하지 않으면 문장의 형태소 문제로 인해 제대로 된 텍스트 마이닝이 되지 않았다. 본 글에서는 파이썬과 윈도우 환경에서 konlpy의 Okt()를 사용하기 위한 자바 jdk 설치, konlpy 라이브러리 설치, 그리고 워드클라우드를 표시하기 위한 마스크 이미지를 만들 수 있는 파이썬 코드를 작성해보려고 한다. 자바 jdk 설치 konlpy 라이브러리를 사용하기 위해서는 자바 JDK가 설치되어 있어야 한다고 하여, JDK 17 버전을 받아서 설치함 JDK(Java SE Development Kit) 17 다운로드(오라클 사이트) 다운로드 파일 설치 시 "Next>"만 계속 클릭하여 설치를 완료한다.. 2024. 2. 14.
파이썬 도서관리 프로그램 오라클 SQL 연습을 위한 파이썬 도서관리 프로그램 코딩 연습 코드. 파이썬에서 오라클 연결 라이브러리(cx_Oracle) 호출 후 함수 기반으로 DB 쿼리한 결과를 정리한 내용입니다. 파이썬 도서관리 프로그램 작성 개요 VS Code 터미널 기반에서 코드를 실행하면 아래 이미지와 같이 출력되며, 메뉴를 선택하고 나오는 문구대로 입력하면 결과를 볼 수 있음 코드를 실행하면, '도서 조회 프로그램' 메뉴 선택 목록(전체 조회, 도서 검색, 도서 추가, 도서 삭제, 프로그램 종료)이 나오고, 번호를 선택하면 각 코드가 실행됨 도서 관리 프로그램에서 사용하는 DB 테이블은 2개(book_store, book_list)로 각 컬럼은 다음과 같음 book_store : 관리코드(PK), 출판사명, 전화번호, 국가.. 2024. 1. 3.
파이썬에서 오라클 데이터베이스 연결 후 쿼리 사용하기 파이썬 주피터 노트북(jupyter notebook)에서 오라클 데이터베이스 연결 후 정의어(DDL), 질의어(DML) 등을 실행하는 코드입니다. 테이블 생성과 데이터를 입력하고 fetchall()을 통해 조회된 데이터를 확인하고, 데이터 업데이트와 삭제를 하는 예시 코드입니다. 파이썬에서 오라클 데이터베이스 연결 파이썬을 사용하여 오라클 데이터베이스에 연결하기 위한 라이브러리(cx_Oracle) 설치 명령어 : pip insall cx_Oracle * anaconda 환경에서는 conda install cx_Oracle (base) C:\User\admin>pip install cx_oracle (base) C:\User\admin>conda install cx_oracle 설치가 완료된 후 아래와 같.. 2023. 12. 22.
썸네일 이미지 만들기 용량 줄이기(with python) 파이썬 썸네일 이미지 만들기, 썸네일 이미지 용량 줄이기 코드를 연습하다가 작성해서 올려봅니다. 썸네일 이미지 용량 줄이기는 jpg 파일 저장 시 quality 100, 80, 60, 40, 20, 10으로 각각 저장합니다. 썸네일 이미지 만들기 및 썸네일 용량 줄이기 웹 사이트에 글 작성 시 중요한 이미지가 아닌 경우, 웹 서버 용량이나 트래픽을 고려하여 원본 이미지를 필요한 크기로 리사이징할 때가 있는데, 가급적 jpg 포맷 사용으로 하고(quality 60%~80% 적당), 만일 글자가 많은 이미지이면 png 포맷을 사용하며, 이미지의 정보인 메타데이터(exif)는 제거하는 것이 좋다고 합니다. 파이썬 라이브러리 requests로 인터넷에 있는 이미지를 다운로드하고, pillow와 pilkit을 활.. 2023. 12. 10.
SQL 함수, 서브 쿼리 연습 직전 포스팅(SQL 기본 문법)에 이어서 SQL 함수와 서브 쿼리 연습 후 정리한 내용임. 문자, 숫자, 날짜, 그리고 중복 제거와 관련한 함수를 연습해보고, 서브 쿼리에 대한 내용도 정리해서 올려봅니다. 문자 관련 함수 # 오라클 함수를 실행하기 위해서는 SELECT 문 내에 있어야 함 ▶ UPPER, LOWER, INITCAP UPPER : 대문자로 바꿈 LOWER : 소문자로 바꿈 INITCAP : 맨 앞 글자는 대문자, 나머지는 소문자로 바꿈 select ename, upper(ename), lower(ename), initcap(ename) from emp; select * from emp where upper(ename) = upper('smith'); select * from emp wher.. 2023. 12. 8.
DB, DBMS, 그리고 SQL 기본 문법 알아보기 데이터 분석을 위한 데이터 수집 시 파일이 아닌 DB에 수집 데이터를 저장하기 위해서는 Oracle이나 MySQL 등의 DB를 사용하는데, 이때 기본으로 알아야 하는 것이 SQL입니다. 이번 포스팅에서는 오라클 11g와 오라클 DBMS 툴인 Oracle SQL Developer의 설치와 기본적인 SQL 문법 등을 연습하고 정리한 내용을 올려봅니다. DB와 DBMS란? 우리가 데이터베이스에 대해 말할 때 DB(Database) 또는 DBMS(Database Management System)라고 하는데, 이 둘은 정확히 같은 것은 아니지만 보통은 같은 의미로 언급하고 받아들인다. DB와 DBMS를 구분해서 간략하게 말한다면, 다음과 같다 ▶ DB는 논리적으로 연관된 데이터를 모아 일정한 형태로 저장해 놓은것.. 2023. 12. 8.
파이썬 함수, 클래스, 속성 비공개, 상속 등 알아보기 파이썬이 배우기 쉬운 개발 언어라고 하지만, 다른 언어와 같이 함수, 클래스, 상속, 오버라이딩 등의 개념도 있고, 특히 클래스라는 개념은 다른 언어와 같기 때문에 난이도가 없는 것은 아닙니다. 파이썬의 함수와 클래스, 그리고 상속 드의 개념에 대해 간략하게 정리해서 올려봅니다. 파이썬 함수 알아보기 ▶ 함수란? 함수는 어떠한 값을 입력하면 정의된 절차에 따라 일을 수행한 후 결과물을 내는 것 ▶ 함수를 사용하는 이유 반복되는 코드의 수를 줄일 수 있음 누군가가 만들어 놓은 기능을 손쉽게 활용할 수 있음 팀 단위로 협업/분업 가능 함수의 코드만 수정하면 실제 사용되는 여러 부분들이 자동으로 수정되므로 유지보수가 용이함 ▶ 함수 생성 # 함수 생성 :def - definition def plus(a, b).. 2023. 12. 7.
파이썬 특수문자 제거 정규식 파이썬 특수문자 제거 정규식 코드. 파이썬으로 데이터 수집을 위한 크롤링 코딩을 작성하다 보면 특수문자 제거가 필요할 때가 많은데 이 경우에 사용하는 코드임 정규식 패턴 활용 특수문자 제거 코드 import re def remove_special_characters(text): pattern = r'[^a-zA-Z0-9ㄱ-힣\s]' clean_text = re.sub(pattern, '', text) return clean_text res = remove_special_characters('문자에 특수문자$&*가 있을.(_) 때|+') print(res) # 문자에 특수문자가 있을 때 위 함수에서 pattern의 값은 영문 대소문자, 숫자, 한글, 공백을 제외한 나머지 특수문자를 제거하는 정규 표현식이며.. 2023. 12. 6.