반응형
sample이라는 파일을 읽고 한줄씩 문자열로 읽어내린다음에 그 값을 다시 data라는 리스트에 넣어준다.
read()는 문자열로 반환해주기 때문에 합산을 구할때는 int로 치환을해서 정수형으로 계산을해준다.
f= open('sample.txt','r')
lines = f.read().splitlines() #한줄씩 문자열 읽기
data = []
sum=0
for line in lines:
data.append(line)
for i in range(0,len(data)):
sum += int(data[i])
avg = sum/len(data)
print(data)
print(sum)
print(avg)
f.close()
여기서 평균의 값을 새로운 파일에 저장하는 코드를 추가하게되면 아래와 같이 쓸수있다.
f= open('sample.txt','r')
lines = f.read().splitlines() #한줄씩 문자열 읽기
data = []
sum=0
for line in lines:
data.append(line)
for i in range(0,len(data)):
sum += int(data[i])
avg = sum/len(data)
f.close()
f2 = open('avg_result.txt','w')
f2.write(str(avg))
f2.close()
새로운 파일을 열어서 데이터를 쓸 때는 항상 str 형태로 써야하기때문에 int 데이터는 str로 치환해서 데이터를 삽입해준다.
lines=f.readlines()
for line in lines:
score=int(line)
readlines가 이미 모든 데이터를 줄 단위로 읽어주는 역할을해서 굳이 위의 for문을 돌리지 않아도될것 같다.
데이터를 받아온 값들을 int로 변환만 해주면 숫자형으로 변환도 되기때문에 더욱 간편한 코드를 사용할 수 있을 것 같다.
반응형
'성장일기 > 파이썬' 카테고리의 다른 글
[파이썬] 데이터 엑셀 파일로 다운로드하기 (openpyxl) (0) | 2022.10.04 |
---|---|
[알고리즘] 같은 문자 찾아내기 & 짝 지어 모든 조합 찾아내기 (0) | 2021.06.24 |
Print '한 줄'에 결과값을 연속적으로 쓰고 싶을때, end= (0) | 2020.10.13 |
[11654번-백준Python] 아스키 코드값을 출력하는 프로그램 (0) | 2020.08.31 |
[파이썬기초 문법]Day2, 조건문 IF (0) | 2020.02.20 |