본문 바로가기

분류 전체보기225

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.
Jira Automation - 스프린트 임박 알림 제품 리드가 요청해서 처리했던 내역 정리 * 요구 사항 스프린트 마감이 임박하는데 처리 안된 이슈들이 종종 발생 각 담당자에게 처리 요청하는 것을 자동화 할 수 있는지 문의 * 해결 방안 찾아보니 검색 및 자동화의 기본 단위가 이슈라서 스프린트만 검색이 안됨 대신 각 이슈마다 자신의 스프린트 속성을 검색하는 것은 가능 이슈에 댓글로 요청하도록 처리 우선 평일 오전마다 실행하는 크론을 만들고 0 0 8 ? * MON-FRI 활성 스프린트의 열린 이슈만 검색한다 status not in (Closed) AND sprint in openSprints() If 블럭을 추가 후 비교 조건을 입력 오늘 날짜가 : {{now.jiraDate}} 스프린트 마감일 하루 전과 비교해서 : {{issue.sprint.end.. 2022. 12. 20.
[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.