python pandas dataframe으로 bigquery insert 시 오류 발생

python으로 pandas로 dataframe을 만들어 bigquery에 insert를 하면 오류가 발생하는 경우가 있습니다.

데이터 타입이 맞지 않는다는 오류인데 schema도 포함했고 autodetect = False 옵션도 넣었지만 소용이 없었습니다.

대략 검색해보니 autodetect=False 옵션이 먹히지 않고 date나 datetime 타입의 데이터를 STRING이 아닌 다른 타입으로 넣으려고 할때 발생하는 문제 입니다.

때문에 schema를 STRING으로 하던가 아니면 dataframe을 만들기 전에 데이터를 객체 타입으로 넣어야 합니다.

특정 json 타입의 파일에서 파싱하면서 dict 데이터에 객체 타입으로 변환해서 넣습니다.

temp_data['createdAt'] = datetime.datetime.strptime(x['attributes']['createdAt'], '%Y-%m-%dT%H:%M:%SZ')

이후 dataframe으로 생성해서 bigqeury 에 넣으면 문제 없이 insert가 가능합니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다