web-dev-qa-db-ja.com

Google Colabでデータフレームにcsvを読み込む

マシンにローカルに保存したcsvファイルを読み取ろうとしています。 (追加の参考として、Kaggleからのタイタニックデータ ここ です。)

this 質問と回答から、私がうまく機能するこのコードを使用してデータをインポートできることを学びました。

from google.colab import files
uploaded = files.upload()

失われたのは、ここからデータフレームに変換する方法です。上記の回答に記載されている Googleノートブックページのサンプル については説明していません。

from_dictコマンドを使用して辞書uploadedをデータフレームに変換しようとしていますが、機能しません。 dictをデータフレームに変換することについていくつかの議論があります ここ しかし、ソリューションは私には当てはまりません(私は思う)。

要約すると、私の質問は:

How do I convert a csv file stored locally on my files to pandas 
datframe on google-colaboratory?
21
PagMax

パンダread_csvがトリックを行う必要があります。 io.StringIOはファイルのようなオブジェクトを想定しているため、アップロードしたバイトをread_csvでラップする必要があります。

完全な例: https://colab.research.google.com/notebook#fileId=1JmwtF5OmSghC-y3-BkvxLan0zYXqCJJf

キースニペットは次のとおりです。

import pandas as pd
import io

df = pd.read_csv(io.StringIO(uploaded['train.csv'].decode('utf-8')))
df
29
Bob Smith

ステップ1- GoogleドライブをCollaboratoryにマウントする

from google.colab import drive 
drive.mount('/content/gdrive')

ステップ2-左ペイン(ファイルエクスプローラー)にGoogleドライブファイルが表示されます。インポートするファイルを右クリックしてçopyパスを選択します。その後、このコピーしたパスを使用して、パンダで通常どおりインポートします。 。

import pandas as pd 
df=pd.read_csv('gdrive/My Drive/data.csv')

できた!

14
Garima Jain

Colab google:PCからcsvをアップロード Excelファイル(* .xlsx)で同じ問題が発生しました。次のように問題を解決しました。csvファイルでも同じことができると思います:- PCドライブに(file.xlsx)というファイルがある場合:1-この単純なコードを使用して、ハードドライブからアップロードします。

from google.colab import files
uploaded = files.upload()

(ファイルの選択)を押して、Googleドライブにアップロードします。

2-その後:

import io
data = io.BytesIO(uploaded['file.XLSX'])    

3-最後に、ファイルを読み取ります。

import pandas as pd   
f = pd.read_Excel(data , sheet_name = '1min', header = 0, skiprows = 2)
#df.sheet_names
df.head()

4-パラメータを変更して、独自のファイルを読み取ってください。他の種類のファイルを読み取るためにこれを一般化できると思います!
楽しめ!

4
Yasser Mustafa

これは私のために働いた:

from google.colab import auth
auth.authenticate_user()

from pydrive.drive import GoogleDrive
from pydrive.auth import GoogleAuth
from oauth2client.client import GoogleCredentials
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

myfile = drive.CreateFile({'id': '!!!YOUR FILE ID!!!'})
myfile.GetContentFile('file.csv')

!!!YOUR FILE ID!!!をGoogleドライブ内のファイルのIDに置き換えます(「共有するリンクを取得」をクリックすると表示される長い英数字の文字列です)。次に、pandasのread_csvを使用してfile.csvにアクセスできます。

import pandas as pd
frm = pd.read_csv('file.csv', header=None)
3
JARS

または、githubを使用してファイルをインポートすることもできます。これを例として取ることができます: https://drive.google.com/file/d/1D6ViUx8_ledfBqcxHCrFPcqBvNZitwCs/view?usp=sharing

また、googleはファイルをより長く保持しないため、githubスニペットを何度も実行する必要がある場合があります。

0
Diwakar