본문 바로가기
자기계발/파이썬기초

[파이썬 기초] 파알못을 위한 핵심 정리 6탄 (자료의 입출력)

by 딩동동 2022. 12. 14.

 

파이썬을 1도 모르는 이를 위한 핵심 정리 6탄

  • 파이썬에서 명령어 줄 입력은 input 함수를 사용한다
  • 텍스트 파일 불러오기는 pandas 패키지의 read_csv 함수를 사용한다.
  • 텍스트 파일 저장은 pandas 패키지의 to_csv 함수를 사용한다.
  • 엑셀 파일 불러오기는 pandas 패키지의 read_excel 함수를 사용한다.
  • 엑셀 파일로 저장은 pandas 패키지의 to_excel 함수를 사용한다.
  • 문자열의 길이는 len 함수를 사용하여 확인 할 수 있다.
  • 특정한 문자를 기준으로 분리하기 위해 string.split (sep,max) 를 사용한다.
  • 문자열 찾기는 string.count(str) & string.find(str) & string.rfind(str) 를 사용한다.
  • 문자열 교체는 string.replace(old,new,count) 를 사용한다.
  • 문자열 비교/판별을 하기 위해 정규식을 이용하는데 re 패키지의 sub 함수를 사용한다.
  • 특정 문자열을 찾기 위해 re모듈의 re.search(pattern, string) 함수를 사용한다.
  • 파이썬의 re.sub은 R과 달리 1개씩만 교체한다.
  • ? * + { } | : . ( ) ^ $ 부호마다 특징이 있다. 

 

1. 명령어 줄 입력받기

 

대화형 프로그램을 작성하는 경우

사용자가 명령어 줄에 자료를 입력하고 입력받은 값을 프로그램이 처리하는 방식이 사용됩니다.

파이썬에서는 "input" 함수를 사용합니다.

 

 

2. 텍스트 파일 불러오기

 

텍스트 파일 읽기 pandas 패키지의 read_csv 함수를 사용할 수 있습니다.

이 함수는 CSV파일을 pandas의 데이터프레임 형식으로 저장합니다.

 

 

3. 텍스트 파일 저장하기

 

데이터프레임을 → 텍스트 파일로 저장하기 위해서

pandas모듈의 DataFrame 클래스의 to_csv 메소드를 사용할 수 있습니다.

 

 

4. 엑셀 파일 불러오기

 

pandas 패키지의 read_excel 함수를 사용할 수 있습니다.

 

 

5. 엑셀 파일로 저장하기

 

pandas모듈의 DataFrame 클래스의 to_excel 메소드를 사용할 수 있습니다.

 

 

6. 문자열 합치기와 분리하기

 

파이썬에서 문자열은 R과 달리 리스트로 저장됩니다.

따라서 문자열에 포함된 문자는 배열 표시로 얻을 수 있으며 분리는 unpacking 방법 등으로 할 수 있습니다.

문자열의 개수는 리스트의 길이를 확인하는 함수 len을 사용합니다.

 

길이 확인하기

 

문자열을 특정한 문자를 기준으로 분리하기 위해서는 split 함수를 사용할 수 있습니다.

string.split (sep,max) : sep은 분리기준인 문자를 max는 분리할 최대 횟수를 의미합니다.

max가 생략되거나 or -1이면 모든 sep에서 분리합니다.

 

분리하기

 

문자열 합치기는 + 연산자를 사용합니다.

문자열에 곱하기 연산자 * 를 사용하면 주어진 횟수만큼 문자열을 반복합니다.

 

문자열 합치기와 반복

 

파이썬에서 문자열 찾기는 count, find, rfind 함수를 사용하고

: string.count(str) & string.find(str) & string.rfind(str)

 

문자열 찾기

 

문자열 교체는 replace 함수를 사용합니다. 

: string.replace(old,new,count)

 

문자열 교체

 

문자열 비교에서 이 문자열이 숫자인지 문자인지 판별하거나

첫 문자가 0으로 시작하는 전화번호인지 등을 알아내기 위해 문자열 비교가 필요한 경우가 있습니다.

이러한 비교를 편하게 하기 위해 정규식을 사용합니다. 

 

re 패키지의 sub 함수를 사용합니다.

re.sub(pattern, new_text, text, count) : text의 pattern을 new_text로 count 횟수만큼 교체합니다.

 

re.sub 함수

 

re.sub 함수 (count)

 

특정 문자열을 찾으려면 re모듈의 search 함수를 사용할 수 있습니다.

re.search(pattern, string) : string의 pattern을 찾아 있으면 True , 없으면 False를 반환합니다.

 

re.search 함수

 

주어진 문자열 bced0123ABC 에서 소문자 a-z 중 하나라도 있으면 a-z exists 을 출력하는 함수문입니다.

 

if-else 와 re.search 함수

 

if-else 와 re.search 함수

 

파이썬의 re.sub은 R과 달리 1개씩만 교체하므로 리스트를 교체하려면

for 등의 반복문을 사용하여야 합니다.

 

re.sub (for 반복문을 사용한 교체)

 

7. 요소의 특징

 

?   앞자리에 0개 또는 1개
  앞의 문자를 의미
  colou?r = u가 없거나, u가 1개 있음을 의미

  따라서 colou?r = color 또는 colour 과 같다.
*   0개 또는 그 이상
  직전 문자를 의미
  colou*r = u가 없거나, 그 이상 있음을 의미

  따라서 colou*r = color 또는 colour 또는 colouur 또는 colouuur 같다
+   1개 또는 그 이상
  직전 문자를 의미
  colou+r= u가 1개 있거나, 그 이상 있음을 의미

  따라서 colou+r = colour 또는 colouur 또는 colouuur 같다
{ }   반복을 의미   colou{n}r = u를 n번 반복하는 것을 의미

  따라서 n=3이면 colou{3}r = colouuur 같다

  {min,max} : 최소번부터 최대번까지 반복
  {min,} : 최소번 이상 반복
.   1개의 임의의 문자를 의미
  (와일드카드)
  colou.r = colou 다음에 1개의 문자 그리고 r 로 이루어져 있음을 의미

  따라서 colou.r = colouar 또는 coloubr 또는 coloucr 같다
|   앞뒤의 하나(or)를 의미   colour|color = colour 이나 color 둘 중 하나를 의미
( )   특정한 정규의 범위를 의미     col(o|u)r = color 이나 colur 를 의미 
^   문자열의 시작 또는 부정을 의미   '^c' : 문자열의 처음에 있는 c를 의미

  '[^0-9]' : 0~9사이의 숫자가 아닌 다른 모든 문자를 의미
$   문자열의 을 의미   '^$' : 문자열을 의미

  'r$' : r로 끝나는 문자열을 의미

 

^ 와 $ 요소의 특징

 

 

나도 할 수 있다 파이썬!

댓글