본문 바로가기

파이썬14

[Python] 페이지네이션으로 업비트에서 비트코인의 모든 1분봉 가져오기 업비트 정책 상 한 번에 가져올 수 있는 1분봉의 최대 개수는 200개입니다. 더 이전의 기록을 가져오고 싶다면 페이지네이션을 활용해야하는데요. 아래는 그 예제입니다. 예제에서 사용할 테이블을 생성하는 쿼리는 아래와 같습니다. CREATE TABLE upbit_bitcoin_candle_minute ( market VARCHAR(10), candle_date_time_utc DATETIME, candle_date_time_kst DATETIME, opening_price DECIMAL(20, 8), high_price DECIMAL(20, 8), low_price DECIMAL(20, 8), trade_price DECIMAL(20, 8), timestamp BIGINT, candle_acc_trade_.. 2024. 3. 13.
[Python] FastAPI를 사용해서 서버 만들기 https://stickode.tistory.com/1051 https://stickode.tistory.com/1062 저번 시간에 이어서, 오늘은 DB에 저장해둔 데이터를 시각화해보겠습니다. 코드에서 user와 password는 본인의 DB 설정에 맞게 변경하셔야합니다. MariaDB에는 다음과 같은 테이블을 추가하시면 됩니다. CREATE TABLE trades ( type VARCHAR(50), code VARCHAR(20), timestamp BIGINT, trade_date DATE, trade_time TIME, trade_timestamp BIGINT, trade_price DECIMAL(20, 4), trade_volume DECIMAL(20, 8), ask_bid VARCHAR(10),.. 2024. 3. 3.
[Python] 수집한 데이터 시각화하기 https://stickode.tistory.com/1051 저번 시간에 이어서, 오늘은 DB에 저장해둔 데이터를 시각화해보겠습니다. 코드에서 user와 password는 본인의 DB 설정에 맞게 변경하셔야합니다. import pandas as pd import matplotlib.pyplot as plt import pymysql import matplotlib.dates as mdates # 데이터베이스 연결 설정 db = pymysql.connect(host='localhost', user='root', password='root', db='stickode_231204_upbit', charset='utf8mb4') cursor = db.cursor() # SQL 쿼리를 사용하여 데이터 추출 que.. 2024. 2. 23.
[Python] 죽지않는 웹소켓 만들기 https://stickode.tistory.com/1045 저번 시간에 이어서, 오늘은 데이터 송수신이 없더라도 소켓 연결이 해제되지 않도록 코드를 수정해보겠습니다. 기존 코드는 특정 시간 동안 웹소켓이 데이터를 주고받지 않는다면 연결이 해제되도록 작성되었습니다. 변경한 사용자가 ctrl + c를 눌러서 직접 종료하지 않는 한 소켓 연결이 해제되지 않습니다. 아래 파일을 복사하신 후 실행하시면 됩니다. 파일명은 main.py입니다 import json import websocket import pymysql from websocket import WebSocketApp, WebSocketConnectionClosedException import logging import time logging.basi.. 2024. 2. 14.
[Python] 실시간 비트코인 거래 데이터를 MariaDB에 저장하기 https://stickode.tistory.com/1038 저번 시간에 이어서, 오늘은 실시간으로 수신한 비트코인 거래 데이터들을 DB(mariaDB)에 INSERT하겠습니다. MariaDB에는 다음과 같은 테이블을 추가하시면 됩니다. CREATE TABLE trades ( type VARCHAR(50), code VARCHAR(20), timestamp BIGINT, trade_date DATE, trade_time TIME, trade_timestamp BIGINT, trade_price DECIMAL(20, 4), trade_volume DECIMAL(20, 8), ask_bid VARCHAR(10), prev_closing_price DECIMAL(20, 8), `change` VARCHAR(1.. 2024. 2. 5.
[Python] 업비트 API로 실시간 비트코인 거래 데이터 수신하기 오늘은 업비트 API를 사용해서 실시간으로 거래되고있는 비트코인의 데이터를 받아보겠습니다. 아래 파일을 복사하신 후 실행하시면 됩니다. 파일명은 main.py입니다. # 아래 pip 명령어를 터미널에서 먼저 실행해서, 다운로드 받으셔야합니다 # pip install websocket-client import jwt # JWT(Java Web Token) 라이브러리 임포트 import uuid # UUID(Universally Unique Identifier) 라이브러리 임포트 import websocket # 웹소켓 라이브러리 임포트 def on_message(ws, message): data = message.decode('utf-8') # 메시지를 UTF-8로 디코딩 print(data) # 디코딩된.. 2024. 1. 27.
[Python] venv로 가상 환경 사용하기 안녕하세요, 오늘은 파이썬의 venv 모듈을 사용해서 가상 환경을 사용해보겠습니다. 파이썬에서 가상 환경은 하나의 pc에서 프로젝트별로 독립된 파이썬 실행환경을 사용할 수 있게 합니다. 가상 환경을 사용하지 않으면 pc 내의 모든 프로젝트에서 하나의 글로벌 파이썬 런타임을 사용하게 됩니다. 설치하는 외부 패키지들 또한 동일한 위치에 설치가 되며 프로젝트들이 패키지들을 서로 공유하게 됩니다. 프로젝트들을 여러 개 개발하는 경우에는 프로젝트별로 가상 환경을 구성하지 않으면 패키지 버전 문제가 발생할 수 있습니다. 따라서 프로젝트별로 독립된 가상 환경을 만들어 사용하는 것이 좋습니다. 파이썬 3.3 부터는 venv 모듈이 기본적으로 내장되기 때문에 별도의 패키지 설치 없이 파이썬만 설치되어 있으면 가상 환경을.. 2023. 2. 26.
[ Python ] csv 파일을 불러와서 판다스 데이터프레임 생성하기 안녕하세요, 오늘은 csv 파일을 불러와서 판다스 데이터프레임을 생성해보겠습니다. 사용할 csv 파일은 공공데이터포털에서 다운로드 받은 '서울특별시 송파구_체육시설' 데이터 (csv파일) 를 사용하겠습니다. pd.read_csv() 함수를 사용하면 csv, text 등의 형식의 파일들을 불러와서 데이터프레임으로 생성할 수 있습니다. import pandas as pd df = pd.read_csv('서울특별시 송파구_체육시설_20210916.csv') 하지만 위의 코드를 실행하면 다음과 같은 에러가 발생합니다. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position 0: invalid start byte 이는 데이터 내에 한글이 포함되어.. 2022. 12. 29.
[Python][Pycharm] 이미지 모자이크 처리 안녕하세요~ 오늘은 OpenCV 모듈을 활용해서 이미지를 모자이크하는 기능을 만들어 보겠습니다. 개발 준비물 1. Python 2. Opencv 3. sample image 샘플 이미지 같은 경우 자신이 테스트하고자 하는 이미지를 사용하면 되겠습니다. 1. 프로젝트 생성 - 새로운 프로젝트 생성하기를 누르신 다음 프로젝트 명을 정해주시고 생성 버튼을 눌러줍니다. 2. OpenCV 모듈 추가 및 모자이크 기능 구현 이제 OpenCV를 추가해주고 모자이크 기능을 구현해볼건데요 이 부분은 제가 미리 작성해둔 스틱코드를 이용하여 구현해 보도록 하겠습니다. import cv2 def mosaic(src, ratio): """ ### 모자이크 기능 :param src: 이미지 소스 :param ratio: 모자이크.. 2021. 9. 13.