Python 을 이용한 날짜 데이터 전처리
필자는 원하는 날짜 형태 및 DB insert 할 때, DB가 원하는 날짜 포맷으로 바꾸기 위한 여정을 기록함!
보통 엑셀이나 csv 파일의 날짜는 char 형이 많음 -> DB insert 할 때 타입 및 형식을 꼭 바꿔줘야함 !!!
[char → date type으로 변경 하는 법] - Python 기준
- Datetime 형식으로 변환하는 2가지 방법
1. 판다스의 to_datetime() 함수를 이용하는 방법
to_datdtime() 함수의 argument로 df의 date 컬럼을 넘겨준다.
예시 ) pd.to_datetime(df[’date’]) → 꼭 적용하고 싶은 컬럼에 적용 시켜줘야 함
2. 판다스의 apply() 함수를 이용해 datetime 모듈을 이용한 방법
from datetime import datetime
df['date'].apply(lambda _ : datetime.strptime(_,'%Y%m%d'))
df['date']=df['date'].apply(lambda _ : datetime.strptime(_,'%Y%m%d'))
df.info() —> 확인
[모듈화 가능]
def transform_datetype(df): df['date'] = df['date'].astype('str') df['date'] = pd.to_datetime(df['date']) return df
df = pd.read_csv('./DA000020.csv') df = transform_datetype(df) df
<실제 적용한 부분>
dfitem['CREATED_DATE'] = pd.to_datetime(dfitem['CREATED_DATE'], format="%Y-%m-%d %H:%M")
dfitem['UPDATED_DATE'] = pd.to_datetime(dfitem['UPDATED_DATE'], format="%Y-%m-%d %H:%M")
—> 여기서 실제 데이터의 날짜 형식과 맞춰서 format 작성 해야 함!