본문 바로가기

PYTHON

(18)
jupyter notebook 줄 바꿈. notebook의 cell 또는 output에 코드나 출력결과가 길면 스크롤바가 생긴다. 스크롤 해서 보는 걸 좋아하는 사람은 잘 없겠지? ㅎ  윈도우 vscode 기준으로 settings.json에 다음 2가지를 추가하자.  "notebook.editorOptionsCustomizations": { "editor.wordWrap": "on" }, "notebook.output.wordWrap": true   끝~
jupyter notebook 자동 포맷터 설정. Black Formatter 설치   settings.json 사용자 설정에 다음 항목 추가"[python]": { "editor.defaultFormatter": "ms-python.black-formatter", "editor.formatOnSave": true },   Settings 설정에서 format notebook으로 검색 후 아래 2가지 체크.     이젠 notebook에서 작업할 때 코드가 자동으로 예쁘게 정렬된다~
[selenium] 네이버 밴드 게시글 댓글 크롤링. 활동하고 있는 밴드에서는 게시글에 댓글로 질문을 받고 이에 대한 답변을 해준다. 꽤 유용한 정보가 많아 자주 들여다보게 되는데 게시판 형태에 익숙한 나는 이전 글 찾기가 너무 어렵다. 태그라는 훌륭한 기능이 있지만 사용 잘 안 하게 되더라. 그래서 이 불편함을 해소하고자 댓글 크롤링하는 것 만들어서 엑셀에 담아버렸다. 프로그램 로직은 매우 간단하다. 1. 셀레니엄으로 게시글에 방문한다. 2. 댓글 부분에 "첫 댓글로" 버튼이 있는지 확인한 후 있으면 클릭해준다. 3. "다음 댓글 보기" 버튼이 있는지 확인 한 후 클릭해 준다. 4. "다음 댓글 보기" 버튼이 안 나올 때 까지 3번을 반복한다. 5. 댓글을 엑셀에 복사한다. 4. 댓글에 대한 답글을 복사한다. 5. 답글이 많은 경우 " x개의 답글 더보기..
[selenium] shadowRoot 접근하는 방법 크롬으로 다운로드 한 파일 정보를 얻기 위해 selenimu으로 분석할 때 #shadow-root를 보게 되었습니다. ​ find_element함수로 shadow-root를 찾으려 했지만 잘 안돼서, 구글에서 검색해 보니, 자바스크립트로 해결하는 방법이 제일 무난해 보였습니다. 크롬 디버거, 콘솔 탭에서 위와 같이 스크립트를 작성했더니 원하는 결과를 얻었습니다. 위 스크립트를 execute_script 함수 인자로 넣어 주면 됩니다. browser.execute_script( """ var manager = document.querySelector('downloads-manager').shadowRoot; var item = manager.querySelector('downloads-item').shad..
[pandas] y축 범위가 다른 두 그래프를 함께 그리기 여러 종류의 데이터를 하나의 그래프에 시각화 하는 경우, y축 스케일이 다른 경우 아래와 같이 그래프가 겹쳐서 보입니다. ​ ​ 이렇게 시각화 해도 별 문제는 없지만, 보기에 안 예쁘잖아요? ​ 이런 경우 twinx라는 것을 사용해서 해결할 수 있습니다. ​ [twinx] matplotlib.axes.Axes.twinx — Matplotlib 3.5.1 documentation The newly created Axes instance matplotlib.org 원리는, twinx를 사용해서 x축을 공유하는 새로운 축을 만든 후 그곳에 두 번째 그래프를 출력하는 겁니다. ​ ax = df_plot_bar.plot.bar(x='구분', title=city, xlabel="", figsize=(20, 10),..
[pandas] 그래프 x축 날짜 간격이 너무 촘촘한 경우. pandas로 데이터 시각화 할 때 데이터가 너무 많은 경우 x축에 출력되는 라벨이 너무 촘촘해지는 경우가 있습니다. 이렇게 몇년치 데이터를 가져와서 그래프를 만들면 x축이 너무 촘촘해 집니다. ​ 이럴때 set_xticks를 사용해서 x축 라벨이 출력되는 간격을 조절할 수 있습니다. https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xticks.html dataframe의 전체 데이터 개수와 numpy의 range 함수를 사용하면 편하게 x축 간격에 사용할 값을 만들 수 있습니다. ​ https://numpy.org/doc/stable/reference/generated/numpy.arange.html ax = df.plot.bar(..
[PySide6] 파이썬 UI 프로그램 시작하기(2) 2022.01.21 - [PYTHON] - [PySide6] 파이썬 UI 프로그램 시작하기(1) 파이썬으로 GUI를 만들기 위한 방법은 크게 2가지가 있는 것 같습니다. ​ 1. 소스코드에서 타이핑, 2. Qt 디자이너 사용. ​ 다른 언어를 사용할 때 보통 디자이너를 사용했기 때문에, 일일이 코드를 타이핑해서 만드는게 너무 낯섭니다. ​ 그래서 Qt 디자이너를 사용해서 간단히 어떤식으로 구성되는지 살펴 보았습니다. ​ 목표는 버튼을 클릭하면 메시지 박스가 출력되는 것입니다. Qt 디자이너를 실행하고 버튼을 추가한 후 test.ui로 저장합니다. 그리고 test.ui를 어떻게 사용할지 선택을 해야합니다. ​ 1. test.ui를 파이썬 코드로 변환한 후 사용. 2. test.ui를 그대로 사용. ​ 1번..
[PySide6] 파이썬 UI 프로그램 시작하기(1) selenium으로 무언가 만들다 보니 GUI가 필요해졌습니다. 그러고 보니 파이썬은 콘솔에서만 공부해 보고 UI를 만들어 본적이 없네요? GUI는 어떻게 만드나 구글에 물어보니, 여러가지 라이브러리를 알려줍니다. 그 중에서 qt를 한 번 사용해 보려고 합니다. ​ 무엇이든지 처음 시작은 필요한 프로그램 설치부터! 1. PySide6 설치 pip install qtside6 2. 설치확인을 위해 디자이너를 실행해 봅니다. C:\>pyside6-designer.exe 다음과 같이 실행되면 일단 성공.