2017-11-22 1 views
3

Google 드라이브에서 MS-excel (.xlsx) 파일을 colaboratory로 가져올 수 있습니까?xlsx 파일을 colorsoratory에서 드라이브로로드하십시오.

excel_file = drive.CreateFile({'id':'some id'}) 

은 (drivepydrive.drive.GoogleDrive 객체이다) 작업을 수행합니다. 그러나

print excel_file.FetchContent() 

반품 없음. 그리고

excel_file.content() 

예외 :

TypeErrorTraceback (most recent call last) in() ----> 1 excel_file.content()

TypeError: '_io.BytesIO' object is not callable

내 의도가 팬더를 얻을 마침내 팬더 read_excel() 읽을 될 수있는 IO 객체로 가져올 수있는 (일부 유효한 파일 'ID를'부여)한다 데이터 프레임

답변

4

로컬로 파일을 저장하려면 excel_file.GetContentFile을 사용하는 것이 좋습니다. 그런 다음 !pip install -q xlrd 다음에 팬더 read_excel 메서드를 사용할 수 있습니다.

다음은 전체 예제 :

은 내가 .XLSX 파일로 내보낼 수있는 새로운 spreadsheet in sheets 생성 : 좀 더 구체적으로 무슨 짓을 https://colab.research.google.com/notebook#fileId=1SU176zTQvhflodEzuiacNrzxFQ6fWeWC

.

다음으로 .xlsx 파일로 내 보낸 다음 다시 드라이브에 업로드했습니다. URL은 다음과 같습니다. https://drive.google.com/open?id=1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM

파일 ID에 유의하십시오. 제 경우에는 1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM입니다.

그런 다음 Colab에서 Drive download snippet을 수정하여 파일을 다운로드했습니다. 주요 비트는 다음과 같습니다

마지막으로
file_id = '1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM' 
downloaded = drive.CreateFile({'id': file_id}) 
downloaded.GetContentFile('exported.xlsx') 

가하는 팬더 DataFrame를 만들 :

!pip install -q xlrd 
import pandas as pd 
df = pd.read_excel('exported.xlsx') 
df 

!pip install... 라인은 Excel 파일을 읽기 위해 필요한 xlrd 라이브러리를 설치합니다.

관련 문제