python - Google Sheets API :"Invalid JSON payload received. Unknown name "编号“位于 'data.values[0]' : Cannot find field

标签 python google-sheets google-api google-sheets-api gspread

我试图将一个电子表格的内容复制到另一个电子表格中,但错误不断弹出。 您能帮忙找出为什么它不将数据从一张纸复制到另一张纸吗? 这是我在原始表中试验的虚拟数据:

1   CHANGED London 
2   5   Budapest
3   4   Prague
4   11  Madrid
4   11  Madrid

目标工作表如下所示:

2   5   Budapest
2   5   Budapest
2   5   Budapest

这是我收到的错误的一部分:

Invalid JSON payload received. Unknown name "Weather" at 'data.values[0]': Cannot find field.
Invalid JSON payload received. Unknown name "City" at 'data.values[0]': Cannot find field.
Invalid JSON payload received. Unknown name "Number" at 'data.values[1]': Cannot find field.
Invalid JSON payload received. Unknown name "Weather" at 'data.values[1]': Cannot find field.
Invalid JSON payload received. Unknown name "City" at 'data.values[1]': Cannot find field.
Invalid JSON payload received. Unknown name "Number" at 'data.values[2]': Cannot find field.

这是脚本:

from oauth2client.service_account import ServiceAccountCredentials
from pprint import pprint
from googleapiclient import discovery
scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", scope )
client = gspread.authorize(creds)

LT = client.open("LetsTry").sheet1
LT_data = LT.get_all_records()
NQ_all = client.open("NQ_all").sheet1
NQ_all_data = NQ_all.get_all_records()

service = discovery.build('sheets', 'v4', credentials=creds)
spreadsheetId = 'xyz'
range = 'Sheet1!A1:C11'
body = {
    'values': LT_data
}
result = service.spreadsheets().values().append(
    spreadsheetId=spreadsheetId, 
    range = range,
    valueInputOption= 'RAW',
    body=body).execute()
print('{0} cells updated.'.format(result.get('updatedCells')))

最佳答案

我遇到了同样的问题,我意识到这是由于编码造成的。 我只是将所有数据设置为 utf8 并且错误已修复。

utf8_encode($yourValue);

这是 utf 编码: https://www.php.net/manual/tr/function.utf8-encode.php

关于python - Google Sheets API :"Invalid JSON payload received. Unknown name "编号“位于 'data.values[0]' : Cannot find field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60342709/

相关文章:

c# - 如果浏览器关闭,GoogleWebAuthorizationBroker.AuthorizeAsync() 会挂起

oauth - Google OAuth 2.0 SignIn API 请求联系人权限

javascript - 在没有弹出窗口的情况下使谷歌身份验证请求 gapi.auth

python - 从 python 中的 rsync 列表命令中删除文件权限、创建日期?

python - 无法在 API 中显示产品图像

python - 将输入(参数)从阶跃函数传递并使用到 lambda 任务

javascript - 如何检测行并相对转到下一列的单元格?

javascript - 如何在应用程序脚本中进行数学运算?

python - Django,在渲染模板之前执行templatetag

javascript - 将 setValues() 与不同长度的数组一起使用