노승현
python - 데이터 가공 본문
csv파일 데이터 가공
with open('test1.csv','r',encoding='cp949') as file:
data=csv.reader(file)
print(data)
for i in range(12):
header = next(data) ## pointer 기반 메서드 == resultSet (다음 데이터로 이동)
for row in data:
if row[0] == '\t\t':
break
print(row)
## 이러한 작업을 데이터 가공이라고 한다.
기상청 공공데이터(2013~2023년도 사이에 최고 기온 추출)
maxTemp=0
date=''
with open('test1.csv','r',encoding='cp949') as file:
data=csv.reader(file)
header = next(data) ## 필요없는 데이터는 header 라고 설정(컬럼명등)
for row in data:
## print(row)
row[5]=float(row[5])
if maxTemp < row[5]:
maxTemp= row[5]
date= row[-4]
print('최고 기온 : '+str(maxTemp))
print('일자 : '+date)
행정동별 연령별 인구현황
# 2018년도 0~9세 가장 적은 지역
minNum=0
area=''
with open('test2.csv','r',encoding='cp949') as file:
data=csv.reader(file)
header=next(data)
pivot =next(data)
minNum=int(pivot[3].replace(',',''))
for row in data:
row[3]=int(row[3].replace(',',''))
if minNum>row[3]:
minNum=row[3]
area=row[0]
print(area)
print(str(minNum)+'명')
문제1) 2018년도와 2023년를 비교했을 때, 0~9세 인원이 줄어든 지역의 이름을 출력해주세요
## 2018년도와 2023년를 비교했을 때, 0~9세 인원이 줄어든 지역의 이름을 출력해주세요
area=[]
people18=0
people23=0
with open('test2.csv','r') as file:
data=csv.reader(file)
header=next(data)
pivot=next(data)
people18=int(pivot[1].replace(',',''))
people23=int(pivot[2].replace(',',''))
for row in data:
if people18>people23:
area.append(row[0])
print(area)
출력 데이터
# 사용자가 검색한 지역의 2023년도 20~39세 인원수를 출력해주세요 [-8][-9] .csv파일의 -8,-9인덱스가 해당 데이터
data1=0
data2=0
while True:
area=input('검색할 지역의 이름 입력 >> ')
flag=False
with open('test3.csv','r',encoding='cp949') as file:
data=csv.reader(file)
header = next(data)
for row in data:
if area in row[0]:
print('검색 결과 : '+row[0])
ans=input('입력하신 지역이 맞습니까?(Y/N) >>')
if ans =='Y':
flag=True
data1=int(row[-9].replace(',',''))
data2=int(row[-8].replace(',',''))
break
if not flag:
print('입력한 지역은 없는 지역명입니다 ')
print('다시 입력해주세요 ')
else:
print('찾았습니다')
break
result=data1+data2
print(area+'의 20~39세 인원은 '+str(result)+'명 입니다')
출력 데이터
'Python' 카테고리의 다른 글
python - 다양한 그래프 그려보기 (0) | 2024.05.23 |
---|---|
python - 예외처리 (0) | 2024.05.13 |
python - 파일 입출력 (0) | 2024.05.08 |
UP & DOWN 게임 (python) (0) | 2024.05.03 |
python - 함수와 메서드 (1) | 2024.05.03 |