質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

940閲覧

pythonからspreadsheetが作成できない

espresso34

総合スコア9

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/02 05:15

以下のコードで実行をするとエラーは起きないのですが、drive内にスプレッドシートが作成されない状況です。

import gspread from oauth2client.service_account import ServiceAccountCredentials from gspread_dataframe import get_as_dataframe, set_with_dataframe import pandas as pd #auth関連 scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive' ,'https://www.googleapis.com/auth/spreadsheets'] credentials = ServiceAccountCredentials.from_json_keyfile_name('*******.json', scope) gc = gspread.authorize(credentials) sp_file_name = 'spredsheet_test' #テストのdataframeを作る temp = {'a':[1,2,3],'b':['a','b','c'],'c':(4,5,6)} df=pd.DataFrame(temp) #スプシを作ってdfを書き込み wb=gc.create(sp_file_name) set_with_dataframe(wb.get_worksheet(0), df)

gspreadのドキュメントをみると問題なさそうではあります。
https://gspread.readthedocs.io/en/latest/user-guide.html?highlight=gc.create#creating-a-spreadsheet

しかし、最初に手動でスプシを作っておき、そのシートを編集しようと以下のように書くと問題なく編集ができており、authやその他の設定はあってそうです。

sp_sheet_name = 'sheet1' wb = gc.open(sp_file_name) update_sheet = wb.worksheet(sp_sheet_name) set_with_dataframe(update_sheet, df)

何が原因として考えられるでしょうか。

pythonのバージョンは3.6.5
です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

こちらGoogleのサービスアカウント

*******@spreadsheet-output.iam.gserviceaccount.com

がオーナーとなり、createされるようでした。なので
作った後に自分に権限をシェアする必要があり

#スプシを作ってdfを書き込み wb=gc.create(sp_file_name) set_with_dataframe(wb.get_worksheet(0), df) wb.share('****@gmail.com', perm_type='user', role='writer')

と書くことで作った自分でも編集できるようになりました。

投稿2020/07/03 08:03

espresso34

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問