| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Ga
- GPT
- ChatGPT
- 서평
- datastudio
- review
- 책리뷰
- 챗GPT
- SQL
- 데이터시각화
- 데이터분석
- 구글애널리틱스
- 파이썬
- Q
- diary
- AWS
- Adobe
- bigquery
- 북리뷰
- 데일리
- 필사
- Python
- openAI
- r
- 빅쿼리
- AZURE
- daily
- tableau
- 태블로
- 생성AI
- Today
- Total
목록Python (18)
가볍게 배우고 깊게 즐기고 오래 남기기
Run은 되지만 주석 스타일 가이드로 눈에 거슬리는 에러들 해결하기 E302: Expected 2 blank lines, found 1E265: Block comment should start with '# 'W293: Blank line contains whitespaceE225: Missing whitespace around operator주석 스타일 가이드 warning 모든 것들을 일괄처리하는 코드 : # flake8: noqa * E302: Expected 2 blank lines, found 1 해결하기 - 주석 블록은 # 뒤에 공백으로 시작할 것 As-isfrom datetime import datetime, timedeltadef example_function(param1, pa..
import nbformatnotebook_path = 'name.ipynb'with open(notebook_path, 'r', encoding='utf-8') as f: notebook = nbformat.read(f, as_version=4)code_cells = [cell for cell in notebook.cells if cell.cell_type == 'code']script_content = "\n\n".join(cell.source for cell in code_cells)# Save the script to a .py filescript_path = 'name.py'with open(script_path, 'w', encoding='utf-8') as f: f.write(sc..
["ABC", "DEF"] 형태가 str으로 떨어질떄 list로 만들려면? 그냥 list로 하는 경우 형태소 한 글자씩 쪼개지는 불상사가 생긴다.. 리스트의 모양을 그대로 살려 Python 리스트 객체로 변환하려면, ast.literal_eval 또는 json.loads를 사용할 수 있다. 방법 1: ast.literal_eval 사용 ast.literal_eval 함수는 문자열이 표현하는 Python 리터럴 구조를 평가하여 해당 Python 객체를 반환합니다. eval()보다 안정적인 전환방법이고, 단순한 데이터 구조(리스트, 딕셔너리, 숫자, 문자열 등)에 적합하다. import ast str_list = '["ABC", "DEF"]' #그냥 list로 하는 경우 한 글자씩 쪼개진다. python_l..
회사의 자비로운 투자로 Pycharm copilot이라는 매력적인 툴을 활용해 작업하고 싶다면 아래 순서로 진행할 것 GitHub와 GitHub Enterprise는 엄연히 다른 영역이기 때문에 연동시 체크할 사항이 있다 1) Pycharm 이나 Jetbrain IDE 우측 상단 Setting 아이콘을 클릭하고 Plugins..클 2) GitHub Copilot 검색 후 설치 정상적으로 설치되면 좌측에 이 영역이 뜬다 -> Get code suggestions in your editor 클릭 & Next 클릭 쭉쭉 해주면서 읽어보시길 3) 우리가 GitHub copilot을 사용하려면 여기 아이콘을 클릭하고 > Login to GitHub를 해야하는데 4) ★ 이 때 ★ 이 때 ★ 이 때 ★ 이 때 앞서..
비동기 서버 구축을 위한 라이브러리 aiohttp, httpx 등은 일반 패키지 인스톨로는 업그레이드가 정상적으로 안되는 경우가 있다. C:\Users\AppData\Local\Programs\Python\Python312\python.exe C:/Program Files/JetBrains/PyCharm Community Edition 2023.3.3/plugins/python-ce/helpers/packaging_tool.py install --upgrade aiohttp==4.0.0a1 pip install --upgrade aiohttp
pandas read_csv를 써서 한글을 사용하더라도 UTF-8을 쓰던 CP949를 쓰던 구글링 stackoverflow를 사용해도 가틍ㄴ decode 에러가 뜰때가 있다. 이럴 땐 chardet으로 파일 상관없이 인코딩 패스하는 방법이 있다. AS-IS df = pd.read_csv("path/to/file.csv", encoding='cp949') df = pd.read_csv("path/to/file.csv", encoding='cp949') ERROR : 'cp949'codec can't decode byte 0xec in position 51: illegal multibyte sequence TO-BE import chardet with open(FILEPATH, 'rb') as f: resu..
유니코드가 포함된 로그 데이터를 Python에서 열다보면 종종 깨짐이 발견된다. import json으로 이 데이터들을 파싱해서 사용하거나 저장 등 가공작업한 결과물에서 크랙 데이터가 발견된다면 아래와 같이 다시 시도하면, json.dump() 의 내장 파라미터 중 ensure_ascii를 False 로 설정하면 한글이 깨지지 않고 표현된다. import json with open("./test.json", 'w', encoding='utf-8') as file: json.dump(data, file, indent="\t", ensure_ascii=False)
(S_msg : Slack MSG, E_msg : Excel MSG) 일별 로그 import openpyxl import os import shutil from datetime import datetime from openpyxl.utils import get_column_letter def write_excel_log(S_msg): List_msg = find_message_list(S_msg) #S_msg 는 Response를 받은 값이라고 전제 함 user_name = S_msg.userName if len(user_name) > 1: user_name = user_name[0] + "**" + user_name[3:] dateTime = datetime.utcfromtimestamp(float(S..
def prettier_ans(response): lines = response.split(". ") lines = [line.strip() + '.' for line in lines] # 문장 단위로 List화 enter_line = "\n".join(lines) #줄바꿈 추가 #print(enter_line) #내부검토용 Print return enter_line #API를 위해서는 return 필요 OpenAI API 특성상 실제 데이터를 "\n"까지 넣어서 학습시키면 깔끔은 하겠지만 불필요한 학습량이 많아진다. 학습데이터나 챗봇의 캐릭터를 어떻게 생성하느냐에 따라 다르겠지만 질문이 아니라 답변만 가능한 챗봇이라면 FAQ 특성상 물음표나 느낌표를 뱉지 않고 온점으로 끝나고 다음문장은 띄어쓰기로 표현..
os.environ.get("SLACK_BOT_TOKEN") 이렇게 명확하게 알고 있을때는 바로 변수에 바로 값을 담아서 활용할 수 있지만 이 토큰 저 토큰 이 path 저 path 가끔 정확한 풀네임이 아리까리 할 때가 있다. 그럴 때 주로 사용하는 코드 코딩하다가 파이썬 내에서 내 시스템 내 퀵하게 시스템 환경변수 리스트를 알고싶을 때 , 내가 쓰는 쿼리 (필터) (= 제어판으로 가서 검색해서 일일이 찾기 싫을 때) 1) 원하는 딱 하나를 찾을 때 (ex) JAVA_HOME path 찾기 import os env_var = os.environ print("User's Environment variable:") x = dict(env_var) for key, value in x.items(): if k..
포트폴리오 최적화와 자산 배분 전략에 용이한 riskfolio 모듈에는 꽤 잘 만들어놓은 도넛차트가 있는데, 이게 Colab이나 최신화된 환경에서 우리가 보고 싶은 이 화면 공식문서의 코드를 그대로 써도 나오지 않는다. 설치할 때 잘 째려보면 matplotlib.pyplot을 사용하고 있음을 알 수 있는데 이 모듈이 참조하는 과정에서 normalize 파라미터가 문제가 있어보였다. riskfolio모듈의 plot_pie에는 입력변수가 자체가 정의되어있지 않기 때문에 백날천날 이 함수의 파라미터로 두드려봐야 큰 의미가 없다. 아마 개발시점의 pyplot의 개발 구조와 현 시점의 개발 구조가 달라져서인 듯 한데, 애석하게되 단순히 기존 matplotlib을 삭제하고 과거 버전으로 회귀한다고 해서 해결되지 않..
사실, Anaconda Prompt를 사용하는 경우 대부분 pip을 활용하거나 OS 단에서 접근하려는 경우기 때문에 기본적으로 관리자 권한으로 실행하는 것이 마음이 편하다. (Prompt 우클릭) Case 1 : ERROR: Could not install packages due to an OSError: [WinError 5] 액세스가 거부되었습니다: '파이썬경로' Check the permissions. (Pip upgrade 시 ( pip install -U pip)) Case 2 : missing write permissions in anaconda3 Case 3 : PermissionError(13, 'Permission denied') error * 이 경우 path가 잘못된 경우도 해당한다...