2017-11-22 7 views
3

Wie kann ich MS-Excel (.xlsx) -Datei von Google Drive ins Collaboratory importieren?Laden xlsx-Datei von Laufwerk im Verbund

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

funktioniert (drive ist ein pydrive.drive.GoogleDrive Objekt). Aber

print excel_file.FetchContent() 

gibt keine zurück. Und

excel_file.content() 

wirft:

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

TypeError: '_io.BytesIO' object is not callable

Meine Absicht ist (da einige gültige Datei ‚id‘) es als io-Objekt zu importieren, die read_excel() von Pandas gelesen werden konnte, und endlich ein Pandas Datenrahmen daraus.

Antwort

4

Sie möchten excel_file.GetContentFile verwenden, um die Datei lokal zu speichern. Dann können Sie die Pandas read_excel Methode nach Ihnen !pip install -q xlrd verwenden.

Hier ist ein vollständiges Beispiel: https://colab.research.google.com/notebook#fileId=1SU176zTQvhflodEzuiacNrzxFQ6fWeWC

Was ich im Detail tat

habe ich ein neues spreadsheet in sheets als XLSX-Datei exportiert werden.

Als Nächstes habe ich es als .xlsx-Datei exportiert und erneut auf Drive hochgeladen. Die URL lautet: https://drive.google.com/open?id=1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM

Beachten Sie die Datei-ID. In meinem Fall ist es 1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM.

Dann, in Colab, zwickte ich die Drive download snippet, um die Datei herunterzuladen. Die wichtigsten Bits sind:

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

Die !pip install... Linie installiert die xlrd Bibliothek, die Excel-Dateien zu lesen benötigt wird:

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

schließlich eine Pandas Datenrahmen zu schaffen.

Verwandte Themen