소연의_개발일지
article thumbnail
[Python] 소상공인시장진흥공단 광주 상가 정보 시각화해보기
개발공부/Python 2023. 8. 8. 20:48

개발환경 주피터, python 목적 광주광역시 올리브영 입점 추천 프로그램을 만들던 중 seaborn과 matplotlib로 화장품 매장들을 시각화 해보기 위함 자료 출처 공공데이터포탈 - 소상공인시장진흥공단_상가(상권)정보 이 자료 중 소상공인시장진흥공단_상가(상권)정보_광주_202306.csv 를 사용하였다. https://www.data.go.kr/dataset/15012005/fileData.do 자료 import import pandas as pd import seaborn as sns import matplotlib as plt df = pd.read_csv('소상공인시장진흥공단_상가(상권)정보_광주_202306.csv', low_memory=False) # DtypeWarning: Colum..

[PostgreSQL] pandas로 DB 접근해 테이블 불러오기
개발공부/SQL & DB 2023. 8. 8. 19:29

필요 모듈 import pandas as pd import matplotlib.pyplot as plt from sqlalchemy import create_engine 없다면 콘솔창에서 설치하거나 인터프리터 설정에서 추가해 준다. 설치 명령어 ''' 설치해야함 pip install sqlalchemy psycopg2 pip install pandas pip install matplotlib ''' 예시 코드 import pandas as pd import matplotlib.pyplot as plt from sqlalchemy import create_engine # PostgreSQL과 연결 DATABASE_URL = "postgresql+psycopg2://postgres:1234@10.10.20...

article thumbnail
[postgreSQL] pgAdmin으로 CSV 파일 import 해 오기
개발공부/SQL & DB 2023. 8. 5. 01:28

전제조건: csv 파일이 데이터로 존재해야 함. 광주 구/법정동/행정동 있는 데이터를 준비해서 postgreSQL 에 넣어보려고 한다. 1. CSV 파일 준비 데이터 출처: 행정표준코드관리시스템 https://www.code.go.kr/index.do 행정표준코드 관리시스템 www.code.go.kr 구글 스프레드시트에서 작업한 파일을 파일-다운로드-쉼표로 구분된 값(CSV) 파일로 다운받았다. 만약 XLSX파일이나 XLS 파일이 있다면, 파일 형식을 CSV로 바꿔서 내보내기 하면 된다. 2. 테이블 생성 테이블을 쿼리문을 통해 생성 CREATE TABLE "TB_DONG" ( "DONG_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, "GU_NAM..

article thumbnail
[Python] requirements.txt 생성하고 패키지 관리하기
개발공부/Python 2023. 7. 28. 23:30

requirements.txt 파일은 Python 프로젝트에서 필요한 모든 라이브러리와 그 버전을 나열하는 데 사용된다. 이를 통해 다른 사람들이 동일한 환경을 빠르게 설정하고 프로젝트를 실행할 수 있다. requirements.txt 생성하기 파이썬 프로젝트에서 사용되는 모든 패키지와 그 버전을 나열하는 requirements.txt 파일을 생성하는 가장 간단한 방법은 pip freeze 명령을 사용하는 것이다. 프로젝트 폴더 터미널에서 다음과 같은 코드를 작성한다. pip freeze > requirements.txt 이 명령은 현재 환경에 설치된 모든 패키지와 버전을 requirements.txt 파일에 작성한다. 설치한 모듈들이 모두 txt 파일에 생성된다. requirements.txt 설치하기..

article thumbnail
PostgreSQL과 pdAdmin 설치하기
개발공부/SQL & DB 2023. 7. 24. 19:42

1. 홈페이지 접속 https://www.postgresql.org/ PostgreSQL The world's most advanced open source database. www.postgresql.org 2. 홈페이지 -> 다운로드 버튼 클릭 3. 사용하는 os -> 나는 윈도우 버튼을 클릭했다. 자신의 버전 확인하고 4. Download the installer를 누른다 5. 자신에게 맞는 다운로드 버전 클릭 해서 다운받기 -> 다운로드는 자동으로 실행됨. 설치 마법사가 나타난다. 6. 전부 선택한 상태로 둔 후 next를 클릭해서 설치한다. 7. 비밀번호는 아주 단순하게 1234, password같은 것으로 설정하는 것이 좋다 8. 포트 번호 설정 기본적으로 포트 번호는 5434, 5433 같은..

article thumbnail
[PyQt] QLineEdit Enter Key Event - 라인에딧 엔터 눌렀을 때 함수연결

QLineEdit은 returnPressed 키(Enter키)가 눌렸을 때 기능을 수행하는 시그널이 있다. #LineEdit의 글자가 바뀔 때 기능 실행 self.LineEdit이름.textChanged.connect(함수) #LineEdit에서 Return키(Enter키)가 눌렸을 때 기능 실행 self.LineEdit이름.returnPressed.connect(함수) 이 시그널들은 타 시그널들과 마찬가지로 생성자 부분 안에 작성해야 한다. 또한, 동일한 LineEdit이 textChanged와 returnPressed 시그널을 동시에 사용할 수 있다. 실행예시 → 엔터와 전송버튼이 동일한 함수가 타도록 만들었음 참고 사이트 1. 위키독스 초보자를 위한 Python GUI 프로그래밍 https://wi..

[Python] 함수 실행 시간 측정하기 - time() 사용한 여러가지 방법
개발공부/Python 2023. 6. 27. 20:45

초단위 실행 시간 측정 time() 함수를 사용한다. [예시] import time start = time.time() print("hello") end = time.time() print(end - start) [실행결과] hello 0.0 너무 빨리 실행되면 0초로 찍힌다. [예시2] import time start = time.time() for i in range(10000): print(i) end = time.time() print(end - start) [실행결과] 0 1 2 3 4 5 .... 0.03602433204650879 로컬 시간의 시계 가져오기 from timeit import default_timer as timer start = timer() print('hi') end = ..

[Python] *args 와 **kwargs(function definition) 정리
개발공부/Python 2023. 6. 27. 19:22

*args and **kwargs in Python 두개 모두 가변인자를 위한 변수이다. *args(키워드가 없는 인자, arguemnts) 함수에 가변 값을 넣어줄 때 사용한다. 즉 인자의 값의 길이에 제한 없이 사용할 수 있다. 이전에 정의한 값보다 더 많은 인자들을 넣을 때 사용한다. 인자의 값이 튜플 형태로 저장된다. 예시 def foo(*args): for a in args: print(a) foo(1) # 1 foo(1,2,3) # 1 # 2 # 3 **kwargs(키워드가 있는 인자, keyword arguments) 인자의 값이 딕셔너리 형태로 저장된다. 더블 스타(**)를 사용하는 이유는 키워드 인자를 통해 인자를 전달할 수 있기 때문이다. 이를 통해 어떤 수의 키워드 인자라도 전달할 수..

article thumbnail
[Matplotlib] 그래프에 옵션 추가 - title(), legend(), color(), marker(), linestyle()
개발공부/Python 2023. 6. 23. 20:57

plot() 함수는 직선 혹은 꺽은선 그래프를 그릴 때 사용하는 명령어이다. import matplotlib.pyplot as plt plt.plot([1,2,3,4], [12,43,25,15]) plt.show() plot안에 입력한 리스트의 값이 x축 값, y축 값으로 입력된다. 만약 리스트 1개만 입력하면 자동으로 y축값으로 입력된다. x 축 값 갯수와 y축 값 갯수가 다르면 오류가 발생한다. plot 함수에 기본 그래프를 그리려면 보통 3 단계를 거쳐야 한다. 1. import matplotlib.pyplot as plt : 라이브러리 불러오기 2. plt.plot([x축 데이터], [y축 데이터]): plot() 함수에 데이터 입력하기 3. plot.show(): 그래프 보여주기 그래프에 옵션 ..

article thumbnail
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence 오류 해결
개발공부/SQL & DB 2023. 6. 14. 10:48

판다스를 이용하여 csv 파일을 sql 로 변환하려던 중 UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence 오류가 생겼다. import pandas as pd import sqlite3 # pandas 라이브러리를 사용해 csv -> sqlite 데이터베이스 변형 con = sqlite3.connect('data.db') # read_csv() 함수를 사용해 csv파일 읽기 df = pd.read_csv('drinks_price.csv', encoding='cp949') # to_sql() 함수를 사용하여 데이터를 sqlite에 삽입 # to_sql(테이블이름, db, 만약 존..