2017-12-20 8 views
0

Ich schreibe ein Python-Skript, um ein Google-Blatt zu aktualisieren. Ich hatte es zuerst geschrieben, damit es die Werte jedes Blattes einzeln aktualisiert. Offensichtlich ist es effizienter zu schreiben, so dass es Stapelupdates gibt, aber dadurch werden alle Werte, die durchgeschaltet werden, zu Prozenten. Zum Beispiel wird 1 100%, 53.2 wird 5320% und so weiter.Google Tabellen-API: Werte, die an Blatt ausgegeben werden, sind Prozente

Beispielcode

Hier ist der Code, den ich die Batch-Update anzuwenden bin mit. Behandeln Sie rangelist als ein Listenobjekt, das den A1-Bereich für die Zelle enthält, in die geschrieben werden soll, und valueslist als ein Listenobjekt, das die Werte enthält, die in diese Bereiche geschrieben werden sollen. Es gibt keine Fehlfunktionen mit 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) 

Dinge, die ich habe versucht:

  • Schalt valueInputOption zu RAW
  • jeden Wert Casting in valueslist als String mit '=' am Anfang
+0

Soll das heißen, dass dies nur passiert, wenn Sie batchUpdate verwenden, aber keine Tabellenkalkulation.values.update? – noogui

+0

Ja. Und nur wenn ich die Werte als Ints/Floats sende. Aus irgendeinem Grund haben sie sie als Saiten umgewandelt. – riders994

Antwort

0

Offenbar das Gießen Werte in Strings vor dem Einfügen in die Batchlisten behebt dieses Problem.

Verwandte Themen