본문 바로가기
빅데이터 부트캠프/Python

빅데이터 부트캠프 6일차

by Mecodata 2022. 7. 11.

ljust와 rjust 

- ljust: 해당 숫자만큼 텍스트 출력 지정한 텍스트의 빈부분은 제시한 텍스트로 채움(왼쪽 정렬)

ex) A = 'abc', A.ljust(5,'0') = abc00

- rjust: 해당 숫자만큼 텍스트 출력 지정한 텍스트의 빈부분은 제시한 텍스트로 채움(오른쪽 정렬)

ex) A = 'abc', A.rjust(5,'0') = 00abc

strip

- strip = 양쪽에서 특정 텍스트 제거 (공백시 공백 제거)

ex) '----------45----------'.strip('-') = 45 = '-45-'.strip('-')

- lstrip = 맨왼쪽에서부터 특정 텍스트 제거 (공백시 공백 제거)

ex) '-------4'.lstrip('-') = 4 = '-4'.lstrip('-')

- rstrip = 맨오른쪽에서부터 특정 텍스트 제거 (공백시 공백 제거)

ex) '4---------'.rstrip('-') = 4 = '4-'.rstrip('-')

join

- 지정한 텍스트.join() = 해당 리스트나 딕셔너리에 있는 각각의 데이터들을 지정한 텍스트로 연결하여 출력  

ex) A = ['가','나','다'] -> '0'.join(A) = 가0나0다

find

- str.find('찾을 문자', 시작 인덱스번호, 끝 인덱스 번호)

- 문자열에 포함된 첫번째 요소의 index 값 반환
- 찾고자 하는 특정 문자열이 여러 개인 경우에는 최초 발견한 원소의 시작위치만 알려줌

- ex) A = '배가고프다가' 

      A.find('가') = 1,   A.find('가',2,4) = -1 (해당 범위 인덱스에 제시한 단어가 없음을 의미), A.find('가',3,5) = 5

- rfind = 끝순서부터 역순으로 해당 텍스트의 인덱스 번호 출력

※ re(regular expression) 정규식

- 특정 조건 또는 패턴을 치환하는 과정을 쉽게 처리할 수 있는 방법

- match() : 문자열의 처음부터 정규식과 매치되는지 조사
- search() : 문자열 전체를 검색하여 정규식과 매치되는지 조사
- findall() : 정규식과 매치되는 모든 문자열(substring)을 리스트로 출력
- finditer() : 정규식과 매치되는 모든 문자열(substring)을 반복 가능한 객체로 돌려줌

print

- print함수 기본값 -> print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

- sep = 구분값 설정 (기본값은 ' ', sep='' 설정시 출력시 데이터 사이에 공백 X)

- end = 출력값 끝에 설정한 텍스트 출력

f-string

- 문자열 에 입력 (f'{}')

- f'{10:3d}' = ↔︎10 정수를 공백 포함해 세 자리로 표시 (↔︎ = 공백 한 칸)
- f'{10:05d}' = 00010 정수를 다섯 자리로 표시. 앞의 공백은 0으로 채움
- f'{0.12345:.3f}' = 0.123 실수를 소수점 셋째 자리까지 표시
- f'{1234000:,}' = 1,234,000 통화 표시처럼 끝에서 셋째 자리마다 ','를 표시
- f'{0.1234:.1%}' = 12.3% 숫자를 퍼센트(%)로 표시. 퍼센트 표시에서 소수점 자리 수는 '.' 다음 숫자로 표시
- f'{12300000000:.2e}' = 1.23e+10 숫자를 지수로 표시. 지수 표시에서 소수점 자리 수는 '.' 다음 숫자로 표시

- 최근에는 f-string, format, % 중 f-string이 대세라고 함.

format

- 문자열 에 입력 '{}'.format()

- 기능은 f-string과 유사 (format이 f-string 보다 더 구식)

- '{:3d}'.format(10) = f{10:3d}

- '{:05d}'.format(10) = f{10:05d

- '{:.3f}'.format(0.12345) = f{0.12345:.3f}

- '{:,}'.format(1234000) = f{1234000:,}

- '{:.1%}'.format(0.1234) = f{0.1234:.1%}

- '{:.2e}'.format(12300000000) = f{12300000000:.2e

- {}이 여러개인 경우 인덱스 번호를 입력하여 순서를 지정할 수 있음

- ex) '{2} + {0} = {1}'.format('가', '나', '다') -> 다 + 가 = 나

%를 이용한 문자 출력

- format과 같이 문자열 에 입력 '{}'.%()

- %d = 정수, %s = 문자, %f = 소수 를 표현함 (decimal / string / float)

- %f = %.6f와 같아서 소숫점 여섯째자리까지 나옴 

- %f에서 소수자릿수를 정하려면 %.4f처럼 입력하면 됨 (= 소수 4번째 자리까지)

파일 읽기와 쓰기

- with open (파일명, 모드) as 파일을 가리키는 약어

= 파일을 가리키는 약어 = open (파일명, 모드)와 같은 명령

ex) with open('1.txt', 'w') as f는 f = open('1.txt', 'w')와 같음

약어 = open 형식으로 명령할 경우에는 마지막에 꼭 close()를 입력해야함!

※ 약어 = open 형식이어도 print() 안에 flush = True로 설정하면 close를 설정하지 않아도 바로 파일에 텍스트가 입력

 (평소에 flush = False기본값이 설정되어있음)

 

- 위의 명령문에 이어서 모드가 쓰기 모드이면 print(텍스트, file=약어) -> 해당 파일에 텍스트 입력

- 위의 명령문에 이어서 모드가 기 모드이면

 약어.readline()으로 파일의 데이터를 줄별로 출력

 약어.readlines()으로 파일의 모든 데이터를 줄별로 나누어 리스트 형식으로 출력

 

- 읽기 모드를 통해 파일에 있는 내용을 출력할 시 print()에 end=''를 적용하지 않으면 자동으로 \n이 적용되어 엔터가 적용된 채 출력.

ex)

※ 모드 종류

- 텍스트 데이터 -> w : 쓰기 모드, r : 읽기 모드, a : 추가 모드 

- 바이너리 데이터 -> wb : 쓰기 모드, rb : 읽기 모드, ab : 추가 모드 (b 추가) 

 

※ utf-8 = 파이썬 한글 인코딩, cp949 = 엑셀 한글 인코딩

 

댓글