【问题标题】:How to use appendCells to append a list of columns in Google Sheets API如何使用 appendCells 在 Google Sheets API 中附加列列表
【发布时间】:2016-11-04 22:42:39
【问题描述】:

我使用的是 python 2.7,但我的理解是这种语法适用于任何语言。

我想将数据附加到我的 Google 表格底部。下面的功能有效,但我想知道是否有更好的方法:

  1. 在列级别而不是单元格级别指定userEnteredValue
  2. 不必为每一列重复值列表。

我当前方法的一个例子:

def insertOneRecord(sheetId, value):
    data = {
     "requests": [
       {
         "appendCells": {
           "sheetId": sheetId,
           "rows": [  {"values": [
               {"userEnteredValue": {"stringValue": value[0]}},
               {"userEnteredValue": {"stringValue": value[1]}}
              ]}],
           "fields" : "userEnteredValue"
         }
       }
     ]
   }
   res = SHEETS.spreadsheets().batchUpdate(spreadsheetId = SPREADSHEET_ID,body = data).execute()

values = ['O','P']
insertOneRecord(sheetId, values)

【问题讨论】:

    标签: python python-2.7 google-sheets-api google-api-python-client


    【解决方案1】:

    确保您遵守所有 OAuth 同意书。 https://developers.google.com/sheets/api/quickstart/js

    有关的文档在这里。 https://developers.google.com/sheets/api/samples/rowcolumn#append_empty_rows_or_columns

    function InsertNewCol() { 
    var requests = [];
    requests.push({
        "appendDimension": {
            "range": {
               "dimension": "COLUMNS",
               "length": 3
            }
        }
    });
    
    gapi.client.sheets.spreadsheets.batchUpdate({
       spreadsheetId: 'YourSheetID',
       requests: requests
    }).then(function(response) {
       console.log(response);
    });}
    

    【讨论】:

      【解决方案2】:

      这是我正在处理的代码的摘录。也许它会有所帮助:

      appendResult = spreadsheet.append(
          rangeName='%s!A3:D3' % title,
          values=values,
          valueInputOption="USER_ENTERED",
          insertDataOption="INSERT_ROWS",
      )
      

      其中title 是工作表名称values 是元组的元组,spreadsheet 是自定义类的实例,append 方法是这样的:

      def append(self, rangeName, values, valueInputOption='RAW', insertDataOption='INSERT_ROWS'):
          self._log.debug("Inserting values starting from %s/%s" % (self.spreadsheetId, rangeName))
          return self._service.spreadsheets().values().append(
              spreadsheetId=self.spreadsheetId,
              range=rangeName,
              valueInputOption=valueInputOption,
              insertDataOption=insertDataOption,
              body={
                  'values': values
              }
          ).execute()
      

      self._service 与您在Google Sheets API - Python Quick StartStep 3 中看到的服务相同,是discovery.build 函数的结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多