본문 바로가기

파이썬9

Python - XML 생성/선택, 쉬운 예제( Element, SubElement, insert ) 실행환경 Python3 VS Code Import xml library xml 라이브러리는 python3의 Core library 이다. # -*- coding:utf-8 -*- from xml.etree.ElementTree import Element, SubElement , dump, indent 다음과 같은 xml을 만들어 보자. xml 은 element 로 이루어져있다. element 는 여러 attribute 를 갖는데 python xml 라이브러리에서 Element 클래스를 사용하여 생성할 수 있다. 루트 엘리먼트 생성 root_el = Element("FRUITS" , {"DESCRIPTION":"FRUIT SCHEME"}) 위와 같이, FRUITS를 엘리먼트로 선언하고 name-value .. 2021. 10. 17.
Pandas - 컬럼의 고유 값 및 고유값 count 찾기 - 이런저런 방법들! Pandas 내장 함수를 사용하여 컬럼의 고유 값을 찾고 해당 고유 값의 전체 수를 출력해 본다. 실행환경 - Python 3.9 - Pandas 1.2.0 데이터 준비 import pandas as pd data = pd.read_csv('https://bit.ly/fish_csv') 데이터는 7개의 물고기 종류에 대한 데이터를 갖고 있다. data # OUTPUT SpeciesWeightLengthDiagonalHeightWidth 0Bream242.025.430.011.52004.0200 1Bream290.026.331.212.48004.3056 2Bream340.026.531.112.37784.6961 3Bream363.029.033.512.73004.4555 4Bream430.029.034.01.. 2021. 3. 3.
Python - 멀티스레드 사용, 웹 스크래핑 비동기 처리 ( pandas_reader 주식 데이터 스크랩 ) 들어가며.. 프로그래밍에서 병렬처리를 위해 멀티스레드를 다루는 일은 쉬운일은 아니다. 스레드의 동작 원리, 다중 스레드에서 공유되는 Shared value 처리, 그 과정에서 발생하는 Race condition, Dead Lock 문제 등을 고려하여 처리해야 하기 때문이다. Shared value 처리를 하지 않고 병렬처리가 요구 되는 비교적 단순한 프로세스라면 멀티스레딩으로 처리 하는 것이 더 효율적일 수 있다. 주식의 일 데이터 업데이트를 하기 위해 멀티스레딩 환경을 구축했다. Pandas_reader 라이브러리를 사용해서 국내 모든 상장기업을 스크래핑 한다. 동기적으로 처리하면 종목코드 수에 따라 선형적으로 비례하여 느려질 수 밖에 없다. 이를 멀티스레드 처리 하여 시간을 단축한다. 시작하기 전에 .. 2021. 2. 24.
Python - 상장법인 종목코드 초간단 스크래핑(코스피, 코스닥 구분) 기업공시채널 KIND에서 상장법인목록을 스크래핑 한다. "상장법인목록" 메뉴를 보면 검색조건에 "유가증권", "코스닥" 라디오 버튼이 위치하고 오른쪽 하단에 "EXCEL"버튼을 확인 할 수있다. 엑셀 버튼 클릭 시 시장구분 조건을 달리 하여 조회하면 POST 폼 데이터가 바뀌는 것을 확인 할 수있다. (크롬 개발자 도구의 Network 탭 에서 확인 ) 폼 데이터의 "marketType" 파라미터 이름으로 코스피(유가증권)는 "stockMkt", 코스닥은 "kosdaqMkt"로 구분된다. 수동으로 엑셀버튼을 다운로드 하여 노트패드 등에서 열어보면 엑셀이 아닌 HTML로 구성된 것을 확인 할 수있다. Pandas는 많은 임포트 기능을 지원하는데 온라인에 html을 읽어 바로 Dataframe형태로 변환 할.. 2021. 2. 19.