目的 - Googleクラウドストレージバケットにアップロードされたcsvファイルを読み込みます。Googleのクラウドストレージバケットにアップロードされたcsvファイルを読み取ることができません
環境 - マスターノードでSSHインスタンスを使用してJupiterノートブックを実行します。 JupiterのノートブックでPythonを使用して、Googleのクラウドストレージバケットにアップロードされたシンプルなcsvファイルにアクセスしようとしています。
アプローチ -
第一のアプローチは - エラーメッセージ "そのようなファイルまたはディレクトリ"
第二のアプローチ - プログラム
import csv
f = open('gs://python_test_hm/train.csv' , 'rb')
csv_f = csv.reader(f)
for row in csv_f
print row
結果、以下の
が書いた簡単なPythonプログラムを書きます - gcloudを使用するパッケージはtrain.csvファイルにアクセスしようとしました。サンプルコードを以下に示します。以下のコードは実際のコードではありません。コードの私のバージョンでGoogleクラウドストレージ上のファイル「GS:///Filename.csv」と呼ばれていました 結果 - CSV
import csv
from gcloud import bigquery
from gcloud.bigquery import SchemaField
client = bigquery.Client()
dataset = client.dataset('dataset_name')
dataset.create() # API request
SCHEMA = [
SchemaField('full_name', 'STRING', mode='required'),
SchemaField('age', 'INTEGER', mode='required'),
]
table = dataset.table('table_name', SCHEMA)
table.create()
with open('csv_file', 'rb') as readable:
table.upload_from_file(
readable, source_format='CSV', skip_leading_rows=1)
からのエラーメッセージ「そのようなファイルまたはディレクトリ」
データのロード
第三のアプローチ -
import csv
import urllib
url = 'https://storage.cloud.google.com/<bucket>/train.csv'
response = urllib.urlopen(url)
cr = csv.reader(response)
print cr
for row in cr:
print row
結果 - 上記のコードは、エラーにはなりませんが、以下に示すように、それはGoogleのページのXMLコンテンツを表示します。列車csvファイルのデータを見ることに興味があります。
['<!DOCTYPE html>']
['<html lang="en">']
[' <head>']
[' <meta charset="utf-8">']
[' <meta content="width=300', ' initial-scale=1" name="viewport">']
[' <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074- BPEVmcpBxF6Gwf0MSgQXZs">']
[' <title>Sign in - Google Accounts</title>']
ここで間違っている可能性があることを誰かが察知することができますか。どのように目標を達成できますか?あなたの助けが高く評価されます。
ご協力いただきありがとうございます。
ファイルは認証が必要な場所に保存されているようです(公開サイトではありません)。そうであれば、ファイルにアクセスする前に認証を受ける必要があります。 PythonがブラウザのCookieを使用していないため、ブラウザにログインしているかどうかは関係ありません。 – celestialroad
^^^これが答えです – Nick