gpt4 book ai didi

python - gspread HTTP错误 : 400 using insert_row OR add_row

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:24 24 4
gpt4 key购买 nike

我的第一个 SO 问题,所以我希望我不会激怒大家 ;-)

使用 gspread 0.4.0 和 Python 2.7,我可以访问我的 Google 表格中的页面,可以读取数据,并且可以使用 update_cell() 更改单元格的内容。但是,尝试在工作表末尾插入一行或追加一行都会遇到以下错误:

File "c:\Python27\lib\site-packages\gspread\models.py", line 525, in append_row
self.add_rows(1)
File "c:\Python27\lib\site-packages\gspread\models.py", line 507, in add_rows
self.resize(rows=self.row_count + rows)
File "c:\Python27\lib\site-packages\gspread\models.py", line 500, in resize
self._element = self.client.put_feed(uri, ElementTree.tostring(feed))
File "c:\Python27\lib\site-packages\gspread\client.py", line 212, in put_feed
r = self.session.put(url, data, headers=headers)
File "c:\Python27\lib\site-packages\gspread\httpsession.py", line 85, in put
return self.request('PUT', url, data=data, **kwargs)
File "c:\Python27\lib\site-packages\gspread\httpsession.py", line 72, in request
response.status_code, response.content))
spread.exceptions.HTTPError: 400: The reference to entity "format" must end with the ';' delimiter.

我在 gspread Github 页面上发现了一个引用此错误的点击,并且该用户在从他的工作表中删除权限后显然已经看到问题消失了。我已删除我的权限,但错误仍然存​​在。

我不是 HTTP 更新数据最精明的用户,我认为这就是 gspread 在这里所做的,所以我很困惑。这里有很多让我眼睛流血的“””东西。

感谢集体的任何建议/帮助!

最佳答案

好的,所以在我的例子中,一个未转义的符号被传递给 gspread 的 models.resize() 函数。我不知道如何从源头上解决未转义的 & 符号,所以我只是用正确的转义字符替换它,然后我就开始比赛了。

具体来说,我在第 500 行(在 resize() 函数中)修改了 models.py -

self._element = self.client.put_feed(uri, ElementTree.tostring(feed).replace("&format","&format"))

关于python - gspread HTTP错误 : 400 using insert_row OR add_row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40165780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com