본문 바로가기

Python20

Python OS 패키지 활용 윈도우 파일명 변경하기 최근 정신이 없어 오랜만에 원래 하려던 사진파일명 날짜삽입하는 어플을 다시 만들어보려고 한다. 지난번에 사진파일을 읽어서 exif 정보를 추출하는 것까지는 완료했기 때문에 이젠 새로운 파일명으로 바꿔주기만 하면 된다. DSC_0001.jpg 파일을 읽어와서 exif내 촬영시간을 파일명 앞에 붙여 20210122_DSC_0001.jpg로 변경할 예정이다. OS 패키지 rename method 활용해서 변경하는 방법 제일 쉬운 방법이 python 기본 패키지인 OS패키지를 import 해서 파일명 변경 method 를 사용하면 된다. import os os.rename('D:\\Temp\\DSC_0001.jpg', 'D:\\Temp\\20210122_DSC_0001.jpg') 그렇게 하면 바로 파일명이 변경.. 2021. 1. 22.
Python String, Datetime 변환하는 방법 언제나 그렇듯이 무언가를 위해 코딩을 하다 보면 날짜 변환이 필요할 때가 많다. 문제는 이게 자주 사용하는게 아니다 보니 기억을 제대로 못한다. 그래서 기록하기로 맘 먹었다. 케이스별로 필요할 때마다 찾아보고 관련 방법들은 지속적으로 기록해야 할 것 같다. String을 Datetime으로 변환하는 방법 이전에 정리해서 포스팅했던 사진 exif 정보에서 촬영 시간을 알아내는 코드를 사용하면 촬영날짜/시간정보가 String으로 나온다. Python PIL활용 exif 사진 촬영날짜 확인하기 얼마 전 만들기 시작한 Python 활용 윈도우 프로그램을 좀 더 확장하려고 아이템을 찾다보니, 아가들 사진들이 무수히 쌓이지만 촬영장비별로 파일명이 제각각이어서 정리가 어려웠던 기억이 떠 fidelislee.tisto.. 2020. 12. 9.
Python PIL활용 exif 사진 촬영날짜 확인하기 얼마 전 만들기 시작한 Python 활용 윈도우 프로그램을 좀 더 확장하려고 아이템을 찾다보니, 아가들 사진들이 무수히 쌓이지만 촬영장비별로 파일명이 제각각이어서 정리가 어려웠던 기억이 떠올랐다. 아이폰, 갤럭시, DSLR 카메라 각각이 다 저장하는 파일명이 다르다 보니 어렵다;;;; 그래서 툴을 한번 만들어보기로 했다. Python PIL 설치 Python을 활용해서 이미지 exif를 확인하는 방법은 매우 다양했다. 그리고 그 다양한 방법들 중 Python에서 제공하는 라이브러리를 쓰는 게 가장 안정적일 거 같다는 생각이 들어 PIL(Python Image Library) 라이브러리를 활용해보기로 했다. 샘플 코드를 활용해서 코드를 작성하는데... 역시 기본 파이선만 설치해둔 상태라 PIL import.. 2020. 11. 25.
Python PyQt로 윈도우 어플만들기 - pyinstaller 설치, exe파일 생성 Anaconda 없이 순수 파이선 환경에서 윈도우 프로그램을 만들어보는 작업을 하고 있다. 파이선을 설치하고 PyQt도 설치하고 QT Designer까지 설치했다. PyCharm을 통해서 코딩을 위한 구성을 완료하고 어플을 만들어본다. 이번에 Anaconda 없이 윈도우 프로그램을 만드는 이유는 pyinstaller 실행파일 구동원리 자체가 임시 파이선 실행환경을 만들고, 인터프리터 실행이 가능하게 한 상태에서 파이선 코드내 import 된 모듈과 라이브러리들은 대부분 포함시켜 주다 보니 아주 작은 어플인데도 기본 용량이 몇십 메가 이상인 exe파일이 생성된다. 검색을 해보니 Anaconda에 기본으로 설치되는 라이브러리들이 많아, 순수 파이선 환경보다 exe파일 생성 시용량이 커진다고 한다. 실제로 이.. 2020. 11. 18.
Python PyQt로 윈도우 어플 만들기 - PyQt, QT Designer 설치 이번에 PC를 업글하면서 기존 PC에 셋팅되어 있던 Anaconda + Pycharm 조합의 개발환경을 바꿔보기로 했다. 이유는 Anaconda 위에서 하면 매우 편리하지만 PyQT 실행파일을 만들면 아주 간단한 기능을 하는데도 실행파일 크기가 몇십메가였다. 조금만 기능이 복잡해지거나 코드가 많아지니 100메가를 훌쩍 넘어버림;;; 그래서 Anaconda 대신 Python 직접 설치로 윈도우 프로그램을 만들어보기로 했다. Python 설치 Python 설치는 아래 링크에서 최신버전을 다운받으면 된다(현재 설치버전 v3.9.0) Download Python The official home of the Python Programming Language www.python.org 설치할때 가능하면 Python.. 2020. 11. 6.
Jupyter Lab 에서 Plotly 그래프 미노출 현상 지난 데이터분석중에 사용했던 툴은 Jupyter Notebook이었다. 그리고 아무 문제 없이 데이터가공부터 분석, kmean clustering, 시각화까지 원활하게 진행이 가능했다. 그런데 좀 더 풍부한 UI를 활용해서 이후 진행을 하고 싶어 Jupyter Lab으로 툴을 변경하기로 했다. 물론 머 크게 차이가 있는건 아니지만, 좀 더 IDE스러워서 정도가 이유다.(지극히 개인적인 의견) Jupyter Lab 사용하기 Anaconda는 사실 Jupyer Notebook, Jupyter Lab을 모두 그냥 제공하기 때문에 크게 어려움은 없다. Anaconda Prompt에서 실행하면 바로 실행된다. (base) G:\> jupyter lab [I 10:51:15.143 LabApp] JupyterLab.. 2020. 10. 19.
Python 데이터 분석 콘텐츠 추천 - KMeans Clustering 첫단계에서 json을 파싱해서 내가 필요한 데이터를 찾아서 쌓을 수있는 준비가 되었고, 두번째 단계로 Pandas로 1차 가공 데이터를 만들었으니 이제 Clustering을 해본다. 1. 서버내 여러 사용자들이 페이지를 방문한 기록들을 json형태로 저장해둔 로그파일에서 파싱한 뒤 2. 각 사용자들별로 몇 번의 방문이 있었는지, 머문 시간은 얼마나 되는지를 Pandas로 데이터화한 뒤 1차 가공된 데이터를 기반으로 유사성향의 사용자들을 분류하기 위한 클러스터링을 수행하고자 한다. 3. 그리고 특정 사용자가 접속했을때, 해당 사용자가 속해 있는 고객군 내에서 다른 사용자들이 이용한 콘텐츠를 추천해주려는 것이 최족 목표이다. Pandas Pivot Matrix 만들기 - pivot_table 함수 로그 파싱.. 2020. 10. 14.
Python 데이터 분석 콘텐츠 추천 - Pandas 데이터 만들기 첫단계에서 json을 파싱해서 내가 필요한 데이터를 찾아서 쌓을 수있는 준비가 되었으니 두번째 단계로 Pandas로 기초 Dataset을 만들어본다. 1. 서버내 여러 사용자들이 페이지를 방문한 기록들을 json형태로 저장해둔 로그파일에서 파싱한 뒤 2. 각 사용자들별로 몇 번의 방문이 있었는지, 머문 시간은 얼마나 되는지를 Pandas로 데이터화한 뒤 1차 가공된 데이터를 기반으로 유사성향의 사용자들을 분류하기 위한 클러스터링을 수행하고자 한다. 3. 그리고 특정 사용자가 접속했을때, 해당 사용자가 속해 있는 고객군 내에서 다른 사용자들이 이용한 콘텐츠를 추천해주려는 것이 최족 목표이다. ## Pandas를 이용해 Dataset으로 만들기 json 파일에서 가져온 값들을 Pandas를 이용해 Datas.. 2020. 10. 7.
Python 데이터 분석 콘텐츠 추천 - json parser로 로그파싱하기 Python을 활용해서 오랜만에 코드를 짜야할일이 생겨 정말 오랜만에 재미난 공부(?)를 해봤다. 우선 현재의 주업무는 코딩이 아니라서 짬짬이 진행했던 내용들이라 곧 까먹을거같아 이번에 여기저기 찾아가며 진행한 것들을 정리해둔다는 것도 있다. ​ 이번에 하려는 프로젝트는 아래와 같이 계획했다. 1. 서버내 여러 사용자들이 페이지를 방문한 기록들을 json형태로 저장해둔 로그파일에서 파싱한 뒤 2. 각 사용자들별로 몇 번의 방문이 있었는지, 머문 시간은 얼마나 되는지를 Pandas로 데이터화한 뒤 1차 가공된 데이터를 기반으로 유사성향의 사용자들을 분류하기 위한 클러스터링을 수행하고자 한다. 3. 그리고 특정 사용자가 접속했을때, 해당 사용자가 속해 있는 고객군 내에서 다른 사용자들이 이용한 콘텐츠를 추천.. 2020. 10. 5.