본문 바로가기
11.파일 입출력/데이터 불러오기

파이썬에서 텍스트파일 불러오고 숫자만 추출하기

by 만다린망고 2021. 5. 17.
반응형

1. 정수

 

아래와 같은 텍스트 파일이가 있다고 합시다. 

 

 

위 텍스트에서 숫자만 추출하는 코드입니다. 

 

import re

#텍스트 불러오기
f = open("C:/Users/Public/mytext.txt")
#각 줄을 리트스로 저장
data=f.readlines()

## >>> print(data)
## ["A's age is 24, weight is 65kg\n", "A's age is 42, weight is 77kg\n", "A's age is 55, weight is 99kg\n", '\n']

#첫째 줄의 숫자
num_line1=re.findall("\d+", data[0])

##  >>> num_line1
##  ['24', '65']

 


2. 실수

 

아래와 같은 텍스트 파일이가 있다고 합시다. 

 

 

소수점 아래 자리가 있는 실수의 경우 아래와 같이 추출합니다. re.findall 함수의 조건을 바꿔주었습니다. 

 

import re

#텍스트 불러오기
f = open("C:/Users/Public/mytext.txt")
#각 줄을 리트스로 저장
data=f.readlines()

## >>> print(data)
## ["A's age is 24, weight is 65kg\n", "A's age is 42, weight is 77kg\n", "A's age is 55, weight is 99kg\n", '\n']

#첫째 줄의 숫자
num_line1=re.findall("\d+\.\d+", data[0])

##  >>> num_line1
##  ['24.5', '65.8']

 

만약 음수가 있다면 아래와 같은 정규표현식을 사용합니다. 

 

"-?\d+\.\d+"

 

-?는 -가 없을 경우 무시하고, 있을 경우 가져오라는 말입니다. 

반응형

댓글