[Python][bs4] BeautifulSoup4에서 텍스트로 파싱하기저번에 파이썬으로 웹 크롤링을 할 수 있는 BeautifulSoup 라이브러리에 대해 간략하게 포스팅을 했었다. 이번에 BS4를 이용하여 HTML 문서를 파싱을 해야하는 일이 있었는데, 해당 문서가 tag만 있고 id값이나 class값이 없어 원하는 값을 파싱하기 매우 곤란한 상황이였다...😥 믿을건 태그값 내의 텍스트 밖에 없어서, 이번 포스팅에서 bs4를 이용해 텍스트 데이터를 파싱하는 방법에 대해 알아보고자 한다. BeautifulSoup4의 기본 사용법은 다음 포스팅을 참고하면 된다. [Python] Beautiful Soup(bs4)[Python] Beautiful Soup(bs4)파이썬(Python)에는 여러 웹 스크래핑..
[Python] globglobglob 모듈은 파일 및 디렉토리 경로를 패턴으로 검색할 수 있도록 도와주는 파이썬의 기본 라이브러리다.이를 활용하면 특정 확장자나 이름을 가진 파일을 쉽게 찾아낼 수 있다. 모듈 사용법1. 기본 사용법먼저 모듈을 import 해준다.import globglob은 파일 경로 패턴을 매칭하여 해당하는 파일들의 리스트를 반환한다.간단한 예제로 현재 디렉토리에서 모든 파일을 검색해보자.files = glob.glob(*)print(files)## result['file1.txt', 'scripts.py', 'image.jpg'] 2. 특정 확장자의 파일 검색특정 확장자의 파일만 검색하고 싶다면, 파일명 뒤에 확장자를 명시하면 된다.예를 들어 .txt 파일만 검색해보자.txt_fi..
[Python] SQLAlchemy 이해하기 SQLAlchemy란?SQLAlchemy는 파이썬을 위한 강력한 SQL 도구이자 객체 관계 매핑(ORM) 라이브러리다.개발자들에게 데이터베이스와 상호 작용할 수 있는 효율적이고 유연한 인터페이스를 제공하며,복잡한 쿼리 실행, 데이터베이스 스키마 조작, 파이썬 객체와의 통합을 쉽게 할 수 있다. SQLAlchemy는 크게 두 가지 주요 구성 요소로 나눌 수 있다.CoreSQL 표현 언어를 사용하여 데이터베이스와 직접 상호 작용하는 레이어SQLAlchemy의 기본 기능으로, 데이터베이스 쿼리를 직접 작성하고 실행할 수 있음ORM (Object-Relational Mapper)SQLAlchemy의 객체 관계 매핑 레이어파이썬 클래스와 데이터베이스 테이블 간의 매핑을..
[Pandas] to.sql()to_sql()판다스 데이터 프레임을 SQL 데이터 베이스에 저장하는 방법으로 to.sql() 메서드가 있다.이를 통해 로컬 또는 원격 데이터베이스에 데이터를 쉽게 저장할 수 있다. 기본 사용법먼저 다음과 같이 라이브러리를 import 해준다.import pandas ps pdfrom sqlalchemy import create_enginecreate_engine은 SQLAlchemy 라이브러리에서 제공하는 함수로, 데이터베이스와의 연결을 설정하는 데 사용된다.# 샘플 데이터프레임 생성data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['New York', 'Los A..
[Pandas] apply로 다중 반환 값을 여러 열에 할당하기데이터 프레임에서 각 행의 특정 열에 함수를 적용하고, 그 결과를 여러 열에 나누어 저장하는 작업은 데이터 처리 과정에서 자주 발생하는 요구다. 이는 apply 함수를 활용하여 이를 간단하게 구현할 수 있다. apply와 lambda를 활용해 특정 열에 함수를 적용하고,결과를 여러 열로 나누어 담는 방법에 대해 알아보자. 다중 반환 값 할당판다스의 apply 함수는 데이터프레임의 행(axis=1) 또는 열(axis=0)에 대해 함수를 적용할 수 있게 해준다.이때, 반환된 값이 여러 개라면 이를 새로운 열로 확장할 수 있다. 아래는 데이터프레임의 'A'열에 대해 각 값을 두 배와 세 배로 만드는 함수를 적용하고,그 결과를 새로운 두 개의 열에 ..
[Pandas] 데이터프레임에서 날짜와 시간 다루기판다스 데이터프레임에서 날짜와 시간을 포함한 데이터를 처리하는 방법에 대해서 알아보고자 한다. 날짜와 시간 데이터 변환하기날짜와 시간 정보가 함께 있는 데이터는 to_datetime 함수를 사용하여 datetime 형식으로 변환할 수 있다.import pandas as pddata = { 'event': ['A', 'B', 'C'], 'datetime': ['2023-08-01 14:30:00', '2023-08-05 09:15:00', '2023-08-10 18:45:00']}df = pd.DataFrame(data)# 문자열을 날짜 및 시간으로 변환df['datetime'] = pd.to_datetime(df['datetime'])print(df)..
[Python] 파일 날짜 가져오기파이썬에서는 'os' 모듈과 'datetime' 모듈을 활용하여 파일의 날짜 정보를 손쉽게 얻을 수 있다. 파일의 생성 날짜 가져오기파일의 생성 날짜를 가져오기 위해 os.stat 함수를 사용하고, 반환된 결과에서 st_ctime 속성을 참조한다.이 속성은 파일의 생성 시간을 나타낸다.import osfrom datetime import datetime# 파일 경로file_path = 'test.yaml'# 파일 상태 정보 가져오기file_stat = os.stat(file_path)# 생성 날짜 및 시간 가져오기creation_time = datetime.fromtimestamp(file_stat.st_ctime)print("파일 생성 날짜 및 시간:", creatio..
[Python] multiprocessing파이썬의 multiprocessing 라이브러리는 병렬 처리를 통해 CPU 성능을 극대화할 수 있도록 해준다. 멀티프로세싱의 필요성파이썬은 기본적으로 GIL(Global Interpreter Lock)이라는 매커니즘 때문에,하나의 프로세스 내에서 동시에 여러 스레드를 실행하는 데에 제한이 있다. 이를 해결하기 위해 멀티프로세싱을 사용하면, 여러 개의 프로세스를 생성하여 병렬로 작업을 수행할 수 있다. 멀티프로세싱 기본 개념multiprocessing 라이브러리는 여러 프로세스를 생성하고 관리하는데 유용한 도구를 제공한다.주요 개념은 다음과 같다.Process독립적인 프로세스Queue프로세스 간 데이터를 교환할 수 있는 FIFO 구조Pool프로세스 풀을 생성하여 ..
[Python] __init__(), __new__()이전에 파이썬의 클래스에 대해 포스팅을 했었는데, 그 때 초기화를 위한 함수인 __init__에 대해 설명했었다.클래스를 호출 할때 어떤 함수나 값을 호출하고 싶을 때 정의한다. 어떤 클래스의 객체가 만들어질 때, 자동으로 호출되어 그 객체가 갖게 될 성질들을 정해준다. [Python] 클래스(class)[Python] 클래스(class) 클래스의 개념 파이썬의 클래스는 객체를 표현하기 위한 문법이다. 간단하게 생각해서 설계도라고 생각하면 된다. 클래스를 사용하면 객체의 구조와 행동을 정의하여 복잡heywantodo.tistory.com 여러가지 클래스의 코드를 찾아보고 있던 도중, __new__라는 메서드를 봤는데,__init__과 사용법이 비슷해..
[Python] 주피터 노트북 서버 설정하기주피터 노트북을 내부 뿐만 아니라 외부에서도 접근이 가능하도록 구성을 해보고자 한다. 1. 설정 파일 생성하기다음 명령어를 실행하면 사용자의 홈 경로의 .jupyter폴더에 jupyter_notebook_config.py 파일이 생성된다. jupyter notebook --generate-config 2. 암호 설정하기터미널에서 ipython 명령어를 사용하면 파이썬 인터프리터 환경이 실행된다.passwd() 함수로 비밀번호를 생성한 후 output을 복사해놓는다. ipythonfrom jupyter_server.auth import passwdpasswd() 3. config 파일 설정vi $HOME/.jupyter/jupyter_notebook_config...
[Python] 리눅스에 Pyenv 가상환경 설치conda와 같은 또 다른 가상환경인 pyenv를 리눅스 환경에 설치하는 방법을 알아보자.자세한 설치방법은 아래 git에서 확인이 가능하다. GitHub - pyenv/pyenv-installer: This tool is used to install `pyenv` and friends.This tool is used to install `pyenv` and friends. Contribute to pyenv/pyenv-installer development by creating an account on GitHub.github.com pyenv 설치curl https://pyenv.run | bash 환경 변수 설정설치가 완료되면 아래와 같이 bashrc에..
[Python] Beautiful Soup(bs4)파이썬(Python)에는 여러 웹 스크래핑 라이브러리가 있지만,그 중에서도 bs4는 HTML과 XML문서를 파싱하는 데 있어 간편성과 효율성으로 많은 사랑을 받고 있다. Beautiful Soup란? Beautiful Soup는 파이썬을 위한 HTML 및 XML 파싱 라이브러리다.이 라이브러리를 사용하면 웹 페이지의 구조를 쉽게 분석하고 필요한 데이터를 추출할 수 있다. bs4는 파이썬의 표준 라이브러리인 html.parser를 기본 파서로 사용하지만, 더 빠르고 강력한 외부 파서(ex. lxml, hrml5lib)도 지원합니다. Beautiful Soup 설치하기bs4를 사용하기위해 먼저 라이브러리를 설치해준다.다음 명령어를 통해서 설치가 가능하다. ..