공공 데이터 csv 파일로 저장하기 [3]

센트럴리밋 2017.07.20 17:27

 

 

매우 간단한 코드이지만, 시작 연월과 끝 연월을 주면 그 사이의 연월들의 리스트를 반환하는 메소드가 필요하다.

5. timecode_generator 

매우 간단한 코드이므로 설명은 생략한다.

def timecode_generator(start_code, end_code):
    result = []

    start_YY = int(start_code[:4])
    start_MM = int(start_code[4:])

    end_YY = int(end_code[:4])
    end_MM = int(end_code[4:])    
    
    tmp_MM = start_MM
    tmp_YY = start_YY
 
    print(end_YY*100+end_MM)
    print(tmp_YY*100+tmp_MM) 
    
    while(tmp_YY*100+tmp_MM < end_YY*100+end_MM):
        tmp_timecode = tmp_MM + tmp_YY*100
        #print(tmp_timecode)
        result.append(tmp_timecode)
        tmp_MM = tmp_MM + 1
        
        if tmp_MM >= 13:
            tmp_MM = 1
            tmp_YY = tmp_YY + 1
  
    return result

 

 

6. 메인함수

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

기능: 시간 연월 리스트를 순회하면서, item_writer를 순차적으로 호출한다. 이 때 각 time code 마다, 

모든 지역 코드를 순회하기 위해,  지역코드 리스트가 담긴 test.csv파일을 읽어들이며, item_writer 를 호출한다. 이후, path에는 

공공 데이터들이 저장되어 있을 것이다.

time_code_list = timecode_generator('200601','201706')

for time_code in time_code_list:
    time_code_str = str(time_code)
    infile = codecs.open('./public_data/test.csv', 'r', encoding='utf-8')
    path = './public_data_HS/total_result'
    for line in infile:
         a = a + 1
         line = line.replace(u'\xa0', ' ')
         ss = line.split()
         local_code = ss[1]
         local_name = ss[2]+" "+ss[3]
         #time_code = '201512'
         item_writer(local_code, time_code_str, local_name, path)
         print(ss)
         print(ss[1])
    
infile.close()

 

 

7. 전체 코드



출처: http://superelement.tistory.com/17 [아마추어 엔지니어 노트]

출처: http://superelement.tistory.com/17 [아마추어 엔지니어 노트]

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED