1

GoogleはシートのAPI v4の:Googleスプレッドシートからデータを取得する方法を示しPython Google Sheets API v4:Googleシートのバッチ取得とバッチ更新の方法

Pythonのクイックスタート:

result = service.spreadsheets().values() 
     .get(spreadsheetId=spreadsheetId, range=rangeName).execute() 
values = result.get('values', []) 

今すぐhttps://developers.google.com/sheets/quickstart/python

を参照してください、私はバッチ取得のための構文を解決しました

私は以下を試しましたが、 '値'のためにnullを取得しました:

rangeName = ["Class Data!A2:E2","Class Data!A3:E3"] 
result = service.spreadsheets().values().batchGet(
     spreadsheetId=spreadsheetId, ranges=(rangeName)).execute() 
for r in result['valueRanges']: 
    print (r.values()[0],r.values()[1]) 
+0

あなたはあなたのコードを投稿したり、認可およびspreadsheets.values.batchUpdate/batchGetを使用し、エラーがあまりにもログに記録し、メインのコードのようなスニペットができます。ありがとう! –

答えて

0

私はPythonにはうまくないですが、私はJavaクライアントで同じ問題を抱えていました。 私はドキュメントが言ったようにのみ

service.spreadsheets().values().batchGet 
         (spreadsheetID).execute(); 

と範囲をロードしようとしたが、何も結果がありませんでした。私は方法を見つけたときに - あなたはスプレッドシートから取得したい範囲のリストを指定する必要がありますbatchGetを作る。 、)(このsetRangeにメモしてください invokaion:

final ArrayList<String> RANGES = new ArrayList<>(); 
     RANGES.add("Sheet1"); 
     RANGES.add("Sheet2"); 
BatchGetValuesResponse response = service.spreadsheets().values().batchGet 
        (spreadsheetID).setRanges(RANGES).execute(); 
+0

私はPythonの構文(上記参照)にJavaを転送しようとしましたが、成功しませんでした。 –

+0

私は、get()に2つのパラメータを渡すだけでなく、関数を追加することで範囲を設定する必要があるかもしれないということを意味しました。 私はそれを確認すると思います。 – NoisyFlasher

+1

また、batchUpdate()の例を次に示します。 https://developers.google.com/sheets/guides/batchupdate#example – NoisyFlasher

0

誰もがGoogleでこれを見つけた場合、答えは(NoisyFlasherは、そのJavaの例で暗示のように、そしてOPのように軌道に乗っていた)であります範囲をPythonリストとして提供するだけです。しかし、結果は辞書ではなく、オブジェクトです。

rangeName = ["Class Data!A2:E2","Class Data!A3:E3"] 
result = service.spreadsheets().values().batchGet(
     spreadsheetId=spreadsheetId, ranges=rangeName).execute() 
for r in result['valueRanges']: 
    print (r['values']) 
関連する問題