본문 바로가기
728x90

프로그래밍47

python, 주식(3)-엑셀에 틀고정과 필터 추가하기 엑셀로 값을 받아온 후, 엑셀편집 하는데,, 원하는 것은, '틀고정' 과 '필터' 를 추가하고 싶다 판다스 사용해서 종목 데이터를 입수하고 엑셀로 저장한 후, 엑셀을 열어서 몇가지 원하는 작업을 추가한다(틀고정, 필터, 경우에 따라 몇몇 셀에 색깔 넣기 등) 그런데, 이 엑셀파일이 수십개가 된다면, 직접 손으로 해야 할까? 라는 물음에,,, 찾아봤다. 역시 다 있더라 ㅎㅎ 파일은 "KRX금현물.xlsx" 이다.(KRX에서 금현물 지수를 엑셀로 저장해서 가져왔음) 간단히 아래에 보임.(열 항목은 편집된 상태임) (1)필터 즉시 소스 살펴보자 4행 : 엑셀 파일을 읽고(wb 워크북) 5행 : ws 워크시트를 지정(wb의 액티브된 시트, 시트가 1개 밖에 없으니 선택의 여지는 없다) 6행 : 신기하게도, 이것.. 2022. 3. 10.
python, 주식(2)-수정주가를 알아보자 주식데이터 수집, 값이 다르다면? 주식데이터의 수집도구를 생각해 보자, HTS에서 엑셀로 추출하기 KRX사이트에서 엑셀로 다운받기 finance-datareader 모듈을 이용해서 수집 pykrx 모듈을 이용해서 수집 웹사이트(네이버 금융, 야후, 인베스팅 등)에서 하나하나 수집? 웹사이트의 예술적인 크롤링 수집기 만들어서 사용, 등 어떤 것을 선호하는가? 어떤 것에 익숙한가? 이 도구들로 가져온 값이 모두 같지 않다면, 어떤 것을 선택하겠는가? 에 대한 스스로의 답을 적어 본다. 수정주가의 개념이 필요하다. ( 2022. 2. 12.
python, 주식 (1)-pykrx종목별 주가 얻기 pykrx krx의 데이터를 스크래핑 해주는 모듈이다. 훌륭하신 분들이 만들어 놓은 모듈 감사히 사용해보고 있다. 사이트참고, https://github.com/sharebook-kr/pykrx 종목의 데이터를 가져와 보고자 한다. 그런데, 기본의 기본 기능이 동작하지 않는다? 실행해 보면, get_market_ohlcv라는 함수가 없단다! 이런이런, 내 환경은 1.0.26이고, 더 이상 업데이트가 안되는거 보니 이미 최신버젼 인가 본데,,, 난감. 키워드 넣고 검색 해본다. 아~~ 마땅히 해결이 보이지 않음... 헌데 어쩌다 저쩌다 해결이 보였으니 ㅎㅎ get_market_ohlcv_by_date() 이렇게 고쳐주면 해결 가능하다. 깃허브 사이트에도 갱신해 주면 좋겠는데,,, 2022. 2. 12.
엑셀, 팁(3) - 연속하는 데이터 비교해서 조건부 서식 적용하기 연속하는 데이터들의 나열속에 변화가 눈에 띄도록 하고 싶다. 그럴때, 하나하나 하기는 어렵고, 뭔가 좋은 방법 없을까 생각해 본다. 예를 들면 코스피 지수, 전일 대비 값이 상승 했다면 눈에 띄도록 색을 입히고 싶다. B2로 고쳐주고 확인! B3셀에 대한 적용이 되었으니, 아래 나머지 셀(B3 ~ B100)에도 서식 복사 해주면, 해결! 요런 모양이 된다. (방법2) 적용하려는 셀의 영역을 미리 선택해두고, 조건부서식 적용하는 방법이다. 원하는 영역(B3부터 B27)을 선택해둔 상태에서, 조건부서식을 실행하고, 비교기준이 되는 셀을 $B$2->B2 로 바꾸어 주고, 확인! 같은 결과를 얻을 수 있다. 서식복사해서 붙여넣기 하는 과정 없이, 해결! 2022. 2. 4.
엑셀, 팁(2) - 마지막 행의 값 추출 엑셀의 마지막행 값(대부분 최신정보일 듯)을 특정위치에서 보이고 싶은 경우 유용하게 사용가능함. index()라는 함수를 사용한다. https://support.microsoft.com/ko-kr/office/index-%ED%95%A8%EC%88%98-a5dcf0dd-996d-40a4-a822-b56b061328bd 설명 행 및 열 번호 인덱스에서 선택한 테이블 또는 배열의 요소 값을 반환합니다. INDEX 함수의 첫 번째 인수가 배열 상수이면 배열형을 사용합니다. 구문 INDEX(array, row_num, [column_num]) INDEX 함수의 배열 형식에는 다음과 같은 인수가 있습니다. array 필수 요소입니다. 배열 상수나 셀 범위입니다. 배열에 행 또는 열이 하나만 있는 경우 해당 row.. 2022. 2. 2.
엑셀, 팁(1) - 경과 년수 구하기 프로그램하면서도 엑셀 사용할 일이 많음을 인정할 수 밖에. ㅎㅎ ★년수구하기 DATEDIF(start_date,end_date,unit) https://support.microsoft.com/ko-kr/office/datedif-%ED%95%A8%EC%88%98-25dba1a4-2812-480b-84dd-8b32a451b35c 두 날짜 사이의 일, 월 또는 연도 수를 계산합니다. 경고: Excel에서는 Lotus 1-2-3의 이전 통합 문서를 지원하기 위해 DATEDIF 함수를 제공합니다. DATEDIF 함수는 특정 시나리오에서 잘못된 결과를 계산할 수 있습니다. 자세한 내용은 이 문서의 알려진 문제 섹션을 참조하세요. start_date 필수 주어진 기간의 첫 번째 또는 시작 날짜를 나타내는 날짜입니다.. 2022. 2. 2.
728x90