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
Soll das heißen, dass dies nur passiert, wenn Sie batchUpdate verwenden, aber keine Tabellenkalkulation.values.update? – noogui
Ja. Und nur wenn ich die Werte als Ints/Floats sende. Aus irgendeinem Grund haben sie sie als Saiten umgewandelt. – riders994