当我尝试将数字附加到 Python 中的列表并将该列表发送到 Google 表格列时出现错误 'Invalid values[1][0]: list_value'

Error 'Invalid values[1][0]: list_value' when i try append numbers to a list in Python and send that list to a Google Sheets column

我要通过 Python 发送到 spreadsheet 的列表是:

para_enviar_conjunto = [[21], [79]]

此列表是基于此代码创建的(我没有添加 sheet id,因为我试图保留这段代码):

import requests
from Google import Create_Service

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
    }

CLIENT_SECRET_FILE = 'client_secrets.json'
API_NAME = 'sheets'
API_VERSION = 'v4'
SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
service = Create_Service(CLIENT_SECRET_FILE, API_NAME, API_VERSION, SCOPES)
spreadsheet_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

spreadsheets_match_id = ['9647082','9979984']
spreadsheets_match_minute = [27,85]

para_enviar_conjunto = []

for (id,minute) in zip(spreadsheets_match_id, spreadsheets_match_minute):
    
    url = f'XXXXXXXXXXXXXXXXXXXXXX/{id}/XXXXXXXXXXXXXXXXXXXXXX'
    response = requests.get(url, headers=headers).json()
    incidents = response['incidents']
    list_of_goals = []

    if any(i['incidentType'] == 'goal' for i in response['incidents']):
        for incident in incidents:
            if (incident['incidentType'] == 'goal' and incident['time'] <= minute):
                list_of_goals.append(incident['time'])    
    else:
        list_of_goals.append([0])
    if (len(list_of_goals) == 0):
        list_of_goals.append([0])
    else:
        pass

    para_enviar_conjunto.append([list_of_goals[0]])
    print(para_enviar_conjunto)

worksheet_name = 'MaxLevel'
cell_range_insert = 'AC2:AC'
values = (
    (para_enviar_conjunto),
)
value_range_body = {
    'majorDimension': 'ROWS',
    'values': values
}

service.spreadsheets().values().append(
    spreadsheetId=spreadsheet_id,
    valueInputOption='USER_ENTERED',
    range=worksheet_name + '!' + cell_range_insert,
    body=value_range_body
).execute()

print("Fim")

我正在尝试将这些值发送到 google 传播sheet,但是在尝试发送时出现此错误:

returned "Invalid values[1][0]: list_value {
  values {
    number_value: 21.0
  }
}". Details: "Invalid values[1][0]: list_value {
  values {
    number_value: 21.0
  }
}
">

我应该怎么做才能解决这个问题?

在您的脚本中,values = ((para_enviar_conjunto),)([[21], [79]],)。我认为这可能是您遇到问题的原因。那么在这种情况下,下面的修改呢?

发件人:

value_range_body = {
    'majorDimension': 'ROWS',
    'values': values
}

收件人:

value_range_body = {
    'majorDimension': 'ROWS',
    'values': para_enviar_conjunto
}
  • 在这种情况下,您可以删除 values = ((para_enviar_conjunto),)