목록Python (12)
인턴기록지
update_historical() pull_time을 기준으로 이벤트 시간을 비교해 새로 추가된 new데이터들을 뽑아와 DB에 new데이터를 넣어주는 전체적인 과정을 거치는 main함수 격이다. # main function of updating new data def update_historical(): """ 디렉토리의 파일들 중 대여반납, 수리, 재배치 내역 파일인 경우 이력 데이터를 update하는 함수 들을 돌린다. 함수호출 순서 dt_ewl_history_load.get_pulltime() -> dt_ewl_history_load.load_new_data() -> load_data() """ params_database = dt_ewl_config.config(filename='database..
get_pulltime() DB Table 'ewl_pulllog'가 이런식으로 데이터가 들어있다면 get_pulltime()함수를 이용해 각 파일명별 pull_time을 리턴해준다. 저번에 듣기론 서버에서 데이터를 가져올 때 매달 새벽 1시라고 들어서 저렇게 설정해 주었다. # get pull_time from ewl_pulllog def get_pulltime(database, file_name): """ 각 파일에 해당하는 ewl_pulllog 테이블의 pull_time을 가져온다. :param database: Postgresql Info :param str file_name: File Name :return: "%Y-%m-%d %H:%M:%S" 식으로 바꿔준 해당 데이터 파일을 서버에서 가져온 ..
# 스핑크스 다운로드 pip install sphinx # 스핑크스 테마 다운로드 pip install sphinx_rtd_theme # 스핑크스 시작 sphinx-quickstart 스핑크스를 시작하면 소스파일과 빌드 파일을 분리할 것인가 프로젝트 이름과 저자 이름 설정 버전 설정 문서 언어 (기본은 en 나는 ko) Finished: An initial directory structure has been created. You should now populate your master file docs/index.rst and create other documentation source files. Use the Makefile to build the docs, like so: make builder ..
pull_appended_data.py와 비슷하게 pulltime을 비교해서 업데이트 된 데이터를 뽑아오는 코드이다. #!/usr/bin/python import os import datetime from configparser import ConfigParser import psycopg2 import load ## update 된 데이터 db에 반영 FOLDER = os.path.abspath('/Users/hklee/digitaltwin/hk/update_data_9') def update_tuple(cursor, conn, data_rows): current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") txt_columns = dat..
자전거 대여를 7/30일 18:00 시에 빌렸는데 8/1 01:00에 데이터를 pull 할 때까지 반납이 되지 않았다면 8월데이터에는 rental 기록만 있을 것이다. 이런 경우 9월에 데이터를 pull해오면 return 8/2 12:00 에 반납되었다는 기록이 있다. 위와 같이 데이터가 다음에 pull한 파일에서 update된 데이터들을 찾아 db에 반영해주는 코드를 작성하였다. #!/usr/bin/python3 import os import datetime import csv from configparser import ConfigParser import psycopg2 #db update function import update_data as ud ## pull log 비교해서 update된 데이터..
8월 1일에 데이터를 가져오고 9월 1일에 데이터를 가져오면 한달동안 새로운 데이터가 쌓인다. 이 데이터를 따로 뽑아서 8월 데이터가 들어있는 db에 추가를 해줘서 9월데이터와 같은지 비교하는 과정을 거쳤다. 여기서 중요한 것이 db의 ewl_pulllog의 pull_time을 보고 해당 파일의 pull_time보다 뒤에 추가된 데이터를 가져오는 것이다. 위와 같이 새벽 1시에 데이터를 가져왔다고 가정하고 진행한다. #!/usr/bin/python3 import os import datetime import csv from configparser import ConfigParser import psycopg2 # append data insert db function import load ## pull ..
리스트의 인덱스를 이용해 컬럼을 코드에 박아서 코드도 작성해보았고 빠른 insert를 위해 딕셔너리 타입으로 넣는 것도 해보았다. 여러 코드를 걸쳐서 최종코드를 작성하였다. #!/usr/bin/python import os import csv import datetime from configparser import ConfigParser import psycopg2 ## 11개의 테이블에 데이터 넣기 ## FOLDER = os.path.abspath('/Users/hklee/Downloads/new_data_file/test_data') sub_len = 100000 # db에 insert def insert_tuple(cursor, conn, table_name, tuples_to_insert): ta..