如何在不破坏我的配额的情况下将文本中的行添加到 API Google 电子表格的追加请求

How add lines in a text to an append request on API Google spreadsheet without destroy my quota

我不是专业程序员,我将一些数据提取到文本文件中,现在我想将其导入到 Google 电子表格中。我可以做到这一点,它一直有效到配额限制。如何将所有行添加到单个请求?

 insert_data_option = 'OVERWRITE'  

        
        with open(r"juntos.txt", "r", encoding="utf8") as inputfile:
            for line in inputfile:
                string = line.rstrip(" \n")
                value_range_body = {
  "majorDimension": "ROWS",
  "range": "A:B",
  "values": [
    [
      string
    ]
  ]
}

                request = service.spreadsheets().values().append(spreadsheetId=spreadsheet_id, range=range_, valueInputOption=value_input_option, insertDataOption=insert_data_option, body=value_range_body)
                response = request.execute()

我相信你的目标如下。

  • 您想使用一次 API 调用表格 API 将值附加到电子表格 API。

你的情况,下面的修改怎么样?

修改后的脚本:

insert_data_option = 'OVERWRITE'

data = []
with open("juntos.txt", "r", encoding="utf8") as inputfile:
    for line in inputfile:
        string = line.rstrip(" \n")
        data.append([string])
value_input_option = "USER_ENTERED"
value_range_body = {"values": data}
request = service.spreadsheets().values().append(spreadsheetId=spreadsheet_id, range="A:B", valueInputOption=value_input_option, insertDataOption=insert_data_option, body=value_range_body)
response = request.execute()
  • 在这种情况下,值通过一次 API 调用附加到电子表格的第一个选项卡。

注:

  • 在您的情况下,为了检索 data,也许还可以使用以下脚本。

      data = []
      with open("juntos.txt", "r", encoding="utf8") as inputfile:
          data = inputfile.read().split("\n")
      data = [[e.rstrip(" \n")] for e in data]
    

参考: