파이썬 Python/파이썬

[9일차/파이썬] ★데이터 시각화 연습문제

하나비 HANABI 2023. 1. 5. 11:01

교재 <예제 중심의 파이썬 입문 - 황재호>

★ CSV파일을 읽어 서울과 6개 광역시에 대해 갹 의사 수 출력

# p.407
# 문제2
# 나의 코드
file = open('./data/12/doctor_2019.csv','r',encoding='UTF-8')
lines = file.readlines()
file.close()

data=[]
for line in lines[1:]:
    temp = line[:-1].split(',')
    for i in range(2, len(temp)):
        temp[i] = int(temp[i])
    data.append(temp)

seoul=[]
busan=[]
daegu=[]
incheon=[]
daejun=[]
gwangju=[]
ulsan=[]
for d in data:
    if d[0]=='서울':
        seoul.append(d)
    elif d[0]=='부산':
        busan.append(d)
    elif d[0]=='대구':
        daegu.append(d)
    elif d[0]=='인천':
        incheon.append(d)
    elif d[0]=='대전':
        daejun.append(d)
    elif d[0]=='광주':
        gwangju.append(d)
    elif d[0]=='울산':
        ulsan.append(d)
temp=[]
temp.append(seoul)
temp.append(busan)
temp.append(daegu)
temp.append(incheon)
temp.append(daejun)
temp.append(gwangju)
temp.append(ulsan)

for t in temp:
    general=0
    intern=0
    resi=0
    pro=0
    for i in t:
        general += i[2]
        intern += i[3]
        resi += i[4]
        pro += i[5]
    print('{}\t{}\t{}\t{}'.format(general,intern,resi,pro))
# 예시코드
file = open('./data/12/doctor_2019.csv','r',encoding='UTF-8')
lines = file.readlines()
file.close()

h_list=[]
for line in lines[1:]:
    temp = line[:-1].split(',')
    for i in range(2, len(temp)):
        temp[i] = int(temp[i])
    h_list.append(temp)

data=[['서울',0,0,0,0],['부산',0,0,0,0],['대구',0,0,0,0],['인천',0,0,0,0],
      ['대전',0,0,0,0],['광주',0,0,0,0],['울산',0,0,0,0]]

for h in h_list:
    for d in data:
        if d[0]==h[0]:
            d[1]+=h[2]
            d[2]+=h[3]
            d[3]+=h[4]
            d[4]+=h[5]
            
print(data)

★ 위에서 얻은 결과를 파일로 저장

# p.408
# 문제3
file = open('./data/doctor2.csv','w',encoding='UTF-8')

for d in data:
    file.write('{} {} {} {} {}\n'.format(d[0],d[1],d[2],d[3],d[4]))
  
file.close()

temp=lines[0][:-1].split(',')
temp=temp[1:]
temp[0]='지역'
print(temp)

data.insert(0, temp)
print(data)