본문 바로가기
개발 이야기/파이썬

[파이썬] 구글드라이브에 CSV 올리면 gsheet으로 자동 변경되서 Colab에 불러오지 못할 때 해결방법

by AI 동키 2022. 8. 25.
반응형

구글 Colab에서 CSV를 분석하고 싶어서 구글드라이브로 CSV 파일을 업로드했더니, 자동으로 gsheet이라는 포맷으로 바꾸어 버리는걸 알게되었다.

그렇게 되면 구글 Colab에서 pandas로 read_csv를 못쓰게 되지 않는가?

나는 구글드라이브에 업로드한 CSV 파일을 gsheet 포맷이 아닌 CSV 형태로 Colab으로 불러오고 싶다. 해결방법을 알아보겠다. 


 

 

구글시트로 바로 열 수 있게 Google sheets 유형으로 파일을 자동 변환 해버리는 구글 드라이브.

예전에는 이렇게 자동변환하지 않고, 실행 시키면 그제서야 변환했던 것 같은데, 정책이 바뀐듯 하다.

 

Colab에서 구글 드라이브 파일을 받아오는 방법은 무수히 많다. 하지만 가장 심플한 두가지 방법으로 알아보도록 하자.

1. requests GET 으로 받아오는 방법.
2. wget 으로 받아오는 방법.

구글 드라이브를 코랩과 연결하고 파일을 변환하는 방법도 있겠지만, 복잡도가 위 방법 보다는 높다고 생각되어 생략하도록 한다. 

위 두가지 방법을 진행하기 앞서, 구글 드라이브에 파일의 링크가 필요하다.

 

1. 구글드라이브의 CSV 파일을 링크 공유를 한다.

2. 링크를 복사하여 아래와 같은 형식으로 만들어준다. 

https://docs.google.com/spreadsheets/d/{SpreadsheetId}/export?format=csv&gid={GID}

 

3. 데이터를 코랩에 다운받는다.

1) requests 로 받는 방법

# url은 본인의 url로 수정해주자.
url = "https://docs.google.com/spreadsheets/d/{SpreadsheetId}/export?format=csv&gid={GID}"

from requests import get  # to make GET request

def download(url, file_name):
    with open(file_name, "wb") as file:   # open in binary mode
        response = get(url)               # get request
        file.write(response.content)      # write to file

download(url, "원하는 파일명.csv")

2) wget으로 받는 방법

wget에서 링크만 작성하면 원본 그대로 다운로드가 된다.-O (알파벳 대문자 O이다.) 옵션을 통해 파일명을 지정할 수 있다.

!wget -O 원하는파일명.csv 'https://docs.google.com/spreadsheets/d/{SpreadsheetId}/export?format=csv&gid={GID}
'

 


이렇게 구글드라이브의 CSV가 Gsheet 형식으로 자동 변환되었을 때 구글 코랩에서 CSV형태로 쉽게 내려받는 방법을 알아보았다. 도움이 되셨길 바란다.

 

 

 

 

 

 

 

반응형

댓글