공부/AIFFEL

FUNDAMENTAL 4. 텍스트의 다양한 변신(문자열, 파일 다루기)

dong_dong_2 2021. 1. 6. 19:11

1월 6일 오전에 배운 내용이다.

 

1. 인코딩과 디코딩
    - 문자열
    - 바이트, 인코딩, 디코딩, 유니코드

2. 문자열 다루기
    - 이스케이프 문자 : \', \", \t, \n, \\
    - 원시 문자열 : r을 따옴표 앞에 붙인다.
    - startswith, endswith
    - 공백 종류 : 스페이스, 탭(\t), 줄 바꿈, 라인 피드(\n), 개행 복귀(\r)
    - 공백 처리 : strip, lstrip, rstrip
    - 대소문자 관련 : upper, lower, capitalize
    - isX : isupper, islower, istitle, isalpha, isalnum, isdecimal
    - join, split, replace

3. 정규 표현식
    - sub, compile, search, match, findall, split
    - [](문자), -(범위), .(하나의 문자), ?(0 또는 1회 반복), *(0회 이상 반복), +(1회 이상 반복), {m, n}(m ~ n), \d(숫자), \D(비숫자), \w(알파벳 문자), \W(비알파벳 문자), \s(공백 문자), \S(비공백 문자), \b(단어 경계), \B(비단어 경계)
    - 구현 순서 : import re를 통해 정규식 모듈을 가져옴, re.compile() 함수로 객체를 만듦, 검색할 문자열을 만든 객체에 각 메소드를 전달함

4. 파일과 디렉토리 (1) 파일
    - read, readline, readlines, write, writelines, close, seek
5. 파일과 디렉토리 (2) 디렉토리
    - root directory와 directory 종류

6. 파일과 디렉토리 (3) 모듈과 패키지
    - 모듈, 패키지는 무엇인가
    - PIP(Package Installer for Python), PyPA(Python Packaging Autority), PyPI(The Python Package Index)

    - sys.path, sys.path.append, os.chdir, os.getcwd, os.mkdir, os.rmdir, glob.glob, os.path.join, os.listdir, os.path.exists, os.path.isfile, os.path.isdir, os.path.getsize

7. 여러가지 파일 포맷 다루기 (1) CSV 파일
    - CSV = Comma Seperated Value
    - open(), "r", "w", with
    - pd.read_csv, df.to_csv
8. 여러가지 파일 포맷 다루기 (2) XML파일
    - XML = Extensible Markup Language
    - <>내용</>
    - 부모태그와 자식태그, 속성
    - Element(태그 생성), SubElement(자식 태그 생성), tag(태그 이름), text(텍스트 내용 생성), attrib(속성 생성)
    - dump
    - XML 파싱하기 : Beautifulsoup, find_all, get_text
9. 여러가지 파일 포맷 다루기 (3) JSON 파일
    - JSON = JavaScript Object Notation
    - 파이썬의 dictionary 타입과 매우 유사한 구조지만 CSV에 비해 좀 더 유연하고 XML보다 더 쉽게 읽고 쓸 수 있다.
    - dump, load