Python56 pandas - 데이터프레임 변동 체크 주기적으로 실행하는 스크립트가 있는데 데이터프레임이 이전 값과 같은지 비교하려고 했다 처음엔 csv로 저장 후 해시값을 비교했는데 찾아보니 더 간단하게 구현 가능했다 import pandas as pd pkl_path = "./data/test.pkl" df1 = pd.DataFrame({"a": [1], "b": [1]}) df2 = pd.DataFrame({"a": [1], "b": [2]}) # 첫번째 df를 pickle 포맷으로 저장 df1.to_pickle(pkl_path) # 기존 피클 불러오기 df_old = pd.read_pickle(pkl_path) # 두번째 df와 비교 print(df2.equals(df_old)) 참고 - 파이썬 피클 https://aplab.tistory.com/e.. 2023. 1. 26. pandas - 특정 문구 포함된 행 삭제 lst = ["text1", "text2", "text3"] # 방법1 df = df[~df['column_name'].str.contains('|'.join(lst))] # 방법2 df = df[~df["column_name"].isin(lst)] lst 에 있는 문구 중 하나라도 일치하면 해당하는 행 삭제 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.isin.html 2023. 1. 25. matplotlib 한글 표시 폰트 다운로드 https://hangeul.naver.com/font/nanum 폰트 경로 찾기 import matplotlib as mpl print(mpl.matplotlib_fname()) 폰트 추가 /home/.../matplotlib/mpl-data/fonts/ttf 에 NanumGothic.ttf 추가 캐시 경로 찾기 import matplotlib as mpl print(mpl.get_cachedir()) 캐시 경로의 fontlist 파일 삭제 한글 셋팅 from matplotlib import rcParams rcParams["font.family"] = "NanumGothic" 참고 https://koosco.tistory.com/38 http://corazzon.github.io/mat.. 2023. 1. 18. pip 내장인 venv로 가상환경 구성 * 파이썬 설치 서로 다른 버전으로 2개 이상 설치 후 명령어로 확인 py -0 * 가상 환경 만들기 python -m venv myvenv 현재 경로에서 서브 폴더 myvenv 생성됨 다른 파이썬 버전으로 하려면 py -3.9 -m venv myvenv * 가상환경 진입 ctrl+shift+P > python select interpreter > myvenv 항목 선택 > 터미널 kill > 새 터미널 수동 진입하려면 myvenv\Scripts\activate 를 실행한다 * 주의1 마이너 버전 포함하면 생성 불가 (이유는 아직 모르겠음) py -3.9.12 -m venv myvenv * 주의2 가상 환경 경로에 띄어쓰기는 없게 하자 (c:\test folder\.. 이러면 안됨) 설치 안되는 확장들이.. 2022. 12. 27. pipenv 구성해보기 https://github.com/pypa/pipenv https://heytech.tistory.com/320 * 사전 셋팅 (Windows 기준) 서로 다른 버전의 파이썬 설치 터미널 실행 pipenv 설치 (pip install pipenv) * 가상환경 구성 작업용 폴더 진입 원하는 파이썬 버전 구성 (pipenv --python 3.9.12) 원하는 패키지 설치 (pipenv install pandas) * py 실행 가상환경 진입해서 실행하거나 (나가기는 exit) pipenv shell python test.py 가상환경 밖에서 바로 실행 pipenv run python test.py * 패키지 의존성 관리 pipfile.lock 파일로 관리됨 내보내기 : pipenv lock 불러오기 : .. 2022. 12. 27. 지라/컨플루언스 서버 - 활성 스프린트 리스트 * 미션 현재 진행 중인 스프린트를 컨플루언스에서 보여주기 * 해결 방안 1. 지라에서 스프린트 리스트 추출 https://jira.readthedocs.io/api.html#jira.client.JIRA.sprints 한번에 50개까지만 불러오니 사전에 보드id 선택을 잘 해야함 보드id는 백로그 화면 URL에서 rapidView 값에 있음 from jira import JIRA server = "https://~" user = "~" password = "~" server = {'server': server} jira = JIRA(options=server, basic_auth=(user, password)) text_result = [] boards = jira.boards(type="scrum").. 2022. 12. 21. [pandas] table이 df로 변환되지 않는 경우 조치 삽질하다가 해결함 1. 우선 sleep을 걸어서 웹페이지가 완전이 뜨도록 해본다 2. 그래도 안되면 html_table_parser 를 설치해서 테이블로 받은 후 변환해본다 (pip install html_table_parser) --- 참고 링크 https://kariu.tistory.com/13 2022. 11. 24. playwright 실행해보기 설치 pip install playwright playwright install playwright install 실패시 python -m playwright install 로 실행 실행 from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch() #chromium, firefox, webkit 중에 하나 선택 page = browser.new_page() page.goto("http://playwright.dev") print(page.title()) browser.close() 출처 : https://playwright.dev/python/docs/library --- P.. 2022. 9. 19. 파이썬 메일 전송시 파일 첨부 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders # 변수값 gmail_id = 'test@test.com' gmail_pw = '...' mail_to = 'test@test.com' subject = '리포트' file_path = './data/' file_name = 'test.xlsx' # 메일 코드 msg = MIMEMultipart() # msg['From'] = email_user msg['To'] = mail_to msg['Subject'] = sub.. 2022. 8. 4. 이전 1 2 3 4 5 6 7 다음