관리 메뉴

지나가는 이야기

[Python] 파일안 데이터 값 더하기 본문

Computer language : 컴퓨터 언어/Python

[Python] 파일안 데이터 값 더하기

지나가는 이야기 2020. 6. 24. 12:00
728x90
반응형

 

파일 안에 있는 데이터의 값을 더하는 코드를 짜 보도록 하겠습니다.

data.txt 파일은 위 사진과 같이 구성되어 있습니다. 이 data.txt 파일을 읽고 총금액을 더하는 프로그램을 만들도록 하겠습니다.

f = open("data.txt", 'r', encoding="UTF-8")

먼저 파일을 읽기 위해 open() 함수를 이용합니다.

 

hap = 0
i = 0
lines = f.readlines()
for line in lines:
	lis = line.split(":")
	if(i > 0 and i < 5):
		hap += float(lis[3])
	i += 1

그리고 파일의 처음부터 끝까지 읽기 위해 readlines() 함수를 사용합니다. 실제 data.txt 파일을 살펴보면 값끼리 :으로 나누어져 있음을 볼 수 있습니다. 금액끼리 더하기 위해 split() 함수를 : 을 기준으로 하고 2~5번째 줄의 값들만 더하기 위해 if문을 사용했습니다.

 

hap = 0                                     # 총 금액을 넣을 변수
i = 0                                       # 인덱스 에러를 피하기 위해 사용한 변수

f = open("data.txt", 'r', encoding="UTF-8") # 총 금액을 계산할 파일을 오픈, 인코딩 에러 방지를 위해 UTF-8을 넣음

lines = f.readlines()                       # data.txt 파일을 처음부터 끝까지 읽음
for line in lines:                          # data.txt파일을 읽어드림
    lis = line.split(":")                   # 파일의 한줄을 : 기준으로 split함
    if(i > 0 and i < 5):                    # 파일의 첫 번째 줄은 세 번째 인덱스가 문자이고,
                                            # 마지막 줄은 세 번째 인덱스 번호가 없어서 오류 발생 방지를 위해
                                            # i 값으로 파일의 해당하는 줄 금액을  더함
       hap += float(lis[3])
    i += 1

print("총거래 금액 :", hap,"원")            # 총 금액 출력

f.close()                                   # 파일 close.

위 코드는 전체 코드입니다.

 

f = open("data.txt", 'r', encoding="UTF-8")

lines = f.readlines()
for line in lines:
    lis = line.split(":")

print(lis[0],":", lis[1])

f.close()

그리고 파일 안에 있는 금액들을 더하지 않고, 총 거래 금액 값만 가지고 오기 위해서는 위 코드를 사용하시면 됩니다.

 

728x90
반응형
Comments