본문 바로가기
Python

Python BigQuery 사용하기 - 에러 해결방법

by yu901 2024. 2. 12.

https://memoleeyu.tistory.com/28

 

Python BigQuery 연동하기 - 에러 해결방법

구글링하며 python에서 빅쿼리 데이터 사용하기 시도중 겪은 에러들 빅쿼리에 프로젝트-테이블도 만들고, 'API 및 서비스-사용자 인증 정보' 에서 서비스 계정 만들고, 키(.json) 파일도 다운받았다.

memoleeyu.tistory.com

 

Python, BigQuery 연동하기를 끝마친 후...

csv 파일을 빅쿼리 테이블에 업로드하기를 시도하자마자 에러 직면

 

 


 

1. ArrowTypeError 

ArrowTypeError: "object of type <class 'str'> cannot be converted to int"

뭔가 타입이 안맞다는 에러

 

아래 코드를 돌렸더니 발생한 에러다.

data_path = '../data/kobis/DailyBoxOffice/DailyBoxOffice_T20230815.csv'
df = pd.read_csv(data_path)

# 테이블 ID
table_id = "data-analysis-413914.kobis.daily_box_office"
# 테이블 객체 생성
table = client.get_table(table_id)

# 데이터프레임을 테이블에 삽입
client.load_table_from_dataframe(df, table)

검색해보니 timestamp 컬럼이 형식이 안맞아서 발생한 에러라고....

pandas 대신 pyarrow를 사용하면 해결된다고 한다.

 

from pyarrow import csv

data_path = '../data/kobis/DailyBoxOffice/DailyBoxOffice_T20230815.csv'
df = csv.read_csv(data_path).to_pandas()

파일 읽는 부분을 위에 코드처럼 변경하니 에러가 해결됐다.

 

참고자료: https://github.com/apache/arrow/issues/37509

 

 

 

또 에러 발생시 내용 추가 예정😂

댓글