2017-12-20 2 views
0

Googleシートを更新するPythonスクリプトを作成しています。私は最初にそれを書いて、各シートの値を個別に更新するようにしました。明らかに、バッチ更新を行うように書く方が効率的ですが、その際に押される値はすべてパーセントになります。例えば、1は100%になり、53.2は5320%になります。GoogleスプレッドシートAPI:シートにプッシュされた値はパーセントです

ここ

サンプルコードは、私がバッチ更新を適用するために使用しているコードです。 rangelistを、書き込むセルのA1範囲を含むリストオブジェクトとして扱い、valueslistをそれらの範囲に書き込む値を含むリストオブジェクトとして扱います。 rangelistには何の不具合もありません。

data = [] 
for i in xrange(len(rangelist)): 
    data.append({'range': rangelist[i], values': valueslist[i] 
body = {'valueInputOption': 'USER_ENTERED', 'data': data} 
response = service.spreadsheets().values().batchUpdate(spreadsheetId=ID, body = body) 

物事私が試してみました:

  • が先頭に '=' を持つ文字列としてvalueslistの各値をキャストRAW
  • にvalueInputOptionを切り替え
+0

これは、batchUpdateを使用していて、spreadsheets.values.updateを使用していない場合にのみ発生すると言いますか? – noogui

+0

はい。そして、ints/floatとして値を送るときだけです。なんらかの理由で、文字列としてキャストして固定しました。 – riders994

答えて

0

どうやら、キャストバッチリストに入れる前に値を文字列に追加すると、この問題が修正されます。

関連する問題