我尝试了三种不同的方法来更新google的值,但是没有一种方法有效,我浏览了pygsheet文档,但仍然找不到解决方案。
import pandas as pd
import pygsheets as pyg
gc=pyg.authorize(service_account_file=r'C:\Users\mingyu\Downloads\heroic-icon-311506-93b9b87f2fed.json')
sht=gc.open_by_url('https://docs.google.com/spreadsheets/d/1sX7Rb6Z9E1_JdG-Uf4HdcjxawgC3RLoRt1m7Akn40DQ/edit?hl=zh-TW#gid=0')
wk_list=sht.worksheets()
wks=sht[0]
cell_list=wks.range('A3:A4')
wks.update_values(cell_list,values=[[0,2]])
然后它就会
InvalidArgumentValue: crange
然后我试着
wks.update_values(cell_list=cell_list,values=[[0,2]])
它显示了
TypeError: list indices must be integers or slices, not list
在那之后,我尝试了田庄。
wks.update_values(crange='A3:A4',values=[[0,2]])
错误信息是
HttpError: <HttpError 400 when requesting https://sheets.googleapis.com/v4/spreadsheets/1sX7Rb6Z9E1_JdG-Uf4HdcjxawgC3RLoRt1m7Akn40DQ/values/%E5%B7%A5%E4%BD%9C%E8%A1%A81%21A1%3AA2?valueInputOption=USER_ENTERED&alt=json returned "Requested writing within range ['工作表1'!A1:A2], but tried writing to column [B]". Details: "Requested writing within range ['工作表1'!A1:A2], but tried writing to column [B]">
wks.update_values('A3:A4',values=[[0,2]])
给我同样的东西
我找到了文档,上面写着'cell_list: List of a :class:Cell
对象来更新它们的值‘,那么为什么我不能执行上面的代码呢?
发布于 2022-07-09 23:40:08
修改要点:
[[0,2]]
的值设置为A3:A4
的范围。0
和2
的值放到A3:A4
中时,[[0,2]]
必须是[[0],[2]]
。0
和2
的值放到A3:B3
中时,A3:A4
必须是[[0,2]]
的A3:B3
。当这些要点反映在您的脚本中时,如下所示。
发自:
wks.update_values(cell_list,values=[[0,2]])
至:
如果要将0
和2
的值分别放入单元格A3
和A4
,请按以下方式修改。
wks.update_values(crange="A3:A4", values=[[0], [2]])
或者,您也可以将开始单元格范围设置如下。
wks.update_values(crange="A3", values=[[0], [2]])
或者,您可以使用majordim="COLUMNS"
。
wks.update_values(crange="A3:A4", values=[[0, 2]], majordim="COLUMNS") # or crange="A3"
如果要将0
和2
的值分别放入单元格A3
和B3
,请按以下方式修改。
wks.update_values(crange="A3:B3", values=[[0, 2]])
或者,您也可以将开始单元格范围设置如下。
wks.update_values(crange="A3", values=[[0, 2]])
参考资料:
https://stackoverflow.com/questions/72921284
复制相似问题