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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

2回答

959閲覧

Pythonでスプレッドシートに読み書きする方法について

BigAngel

総合スコア6

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2020/10/27 02:59

編集2020/10/27 04:29

現在、業務で使用するためのpythonからGoogleスプレッドシートにデータを入力するシステムを作成しています。

下記サイトを参考に、読み書きするためのアドレスを取得しました。
https://tanuhack.com/operate-spreadsheet/

しかし、会社のセキュリティ上の理由により、アドレスを使用しての読み書きが難しい状況です。

そこで、アドレスを使用せずに読み書きする方法をご教授いただきたく存じます。

また、複数人が同時にリアルタイムでデータを確認できるようにスプレッドシートに入力したいと考えていますが、
スプレッドシートに入力するのが難しい場合、どのような方法が考えられますでしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

会社のセキュリティ上の理由により、アドレスを使用しての読み書きが難しい状況です。

結論からいうと出来ません。

「アドレス」と何度も呼称されておりますが、それは[編集用アカウント]とお考えください。
pythonを使ってスプレッドシートへ書き込みを行う為のアカウントがそれになり
そのアカウントを編集者として追加が出来ない限りは、pythonで書き込みなどを行う事は出来ません。

その他の代替手段としてはGAS(GoogleAppsScript)が挙げられます。

投稿2020/10/27 03:14

nto

総合スコア1438

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

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

BigAngel

2020/10/27 23:41

ご回答ありがとうございます。 回答頂いたあと、下記サイトにたどり着き、実施してみたのですが入力できませんでした。 https://m12watanabe1a.hatenablog.com/entry/2018/12/19/143926 サイトの方法でも、編集用アカウントを追加しなければ入力は難しいのでしょうか?
nto

2020/10/28 02:36

URL確認しました。 pythonからGAS書き込み命令→GASからシートへ書き込み命令という流れですね。 確かにこれであればアカウントの追加は必要がなさそうです。 その代わりにスプレッドシートではなく、スプレッドシートキーが掲載されたGASを全体に公開する必要性が出てきますね。 まぁだからと言ってそれで誰かに見られる等という事はないでしょうが、セキュリティが厳しいという事なのにそれがOKならばそもそもスプレッドシートへの編集用アカウントの追加もOKなのでは…?という疑念は残りますが。
BigAngel

2020/10/28 05:07

確かにそうですね、、 アプリケーションにアクセスできるユーザーの箇所、サイトでは「全員(匿名ユーザーを含む)」を選択していましたが、「Anyone within {会社名}」「only myself」の二つのみ表示されています。 全体に公開できていないため、社員でないpythonさんはアクセスできないということなのですかね、 中間ファイルを挟んでGASでスプレッドシートに入力する方向で考えています。 しかし、pythonもgasも実行するのは手間がかかりますし、他に方法はないのでしょうか。
nto

2020/10/28 05:11

とりあえずは今朝方、GASを経由した方法を試した所、こちらでは正常に動作の確認が出来ました。 「正常に実行が出来ない」との事で質問スレッドを立てておりましたが、その後はいかがでしたか? そんなに難しい作業ではない様ですし、間違えてしまう様な箇所もあまり見当たらない為 一度テストで、適当に新しいスプレッドシートを作成し、スクリプトとpythonファイルも作成してで作り直して試してみてはいかがでしょうか?
BigAngel

2020/10/28 05:21

既に10回ほどやり直したのですが無理そうでした。 スレッドの件、一度私個人のアカウントで実行し動作確認できた場合、先ほども述べた通り、社用のアカウントのため社員でないpythonさんはアクセスできない、と判断し諦めようと思います。 何度もご回答いただきありがとうございましたm(__)m また質問した際はよろしくお願い致します。
nto

2020/10/28 05:40

GASを経由した場合だと、pythonがアクセスするのはあくまでGASであり その後GASがスプレッドシートに対し命令を送るものである為恐らくは違う気はするのですが… いかんせんGASに詳しいわけではないので、、、 お力添えになれず申し訳ないです。
guest

0

Googleスプレッドシートでないと駄目なのでしょうか。
会社のファイルサーバーや余ってるPCに共有ファイル(Excel等)を置いて管理するとか。
リモートワーク中なら、VPNとかChromeRemoteDesktopとか必要になりますが。

投稿2020/10/28 00:10

jeanbiego

総合スコア3966

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

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

BigAngel

2020/10/28 00:34 編集

ご回答いただきありがとうございます。 システムの構想が下記のようになっております。 ①pythonにてPCに表示されているデータを数分おきに取得 ➁新たに取得したデータを入力できる ③複数人がリアルタイムでデータを確認できる リアルタイムで確認する必要があるため、ExcelではなくGoogleスプレッドシートに書き込みを行おうと考えております。 上記を満たす他の方法があればご教授頂きたいです。 また、Googleスプレッドシートのみでデータ取得から入力まで行おうと考えましたが、 GASでOCR取得できないフォントであったため、pythonを使用してのデータ取得を行っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問