我有一个 python 脚本,每次运行时,它都会返回一个新值。然后我需要将这些值添加到谷歌表中。所以每天脚本的结果都会被添加到一个新行中。我尝试使用“pygsheet”库,但我无法处理每天添加到新行的内容。如何将数据添加到最后一个空行?
问问题
3669 次
3 回答
2
首先,获取电子表格中的所有值。您需要指定include_tailing_empty_rows
and include_tailing_empty
as False
,以便空行不会包含在计数中
new_row = ['firstname', 'lastname', 'Email', 'Number']
worksheet = gc.open('Sign Up').sheet1
cells = worksheet.get_all_values(include_tailing_empty_rows=False, include_tailing_empty=False, returnas='matrix')
last_row = len(cells)
worksheet = worksheet.insert_rows(last_row, number=1, values= new_row)
insert_rows
将“new_row”列表添加到“last_row”之后的位置。
worksheet
您可以在这里查看其他属性https://pygsheets.readthedocs.io/en/stable/worksheet.html
于 2019-11-15T14:31:18.250 回答
1
使用 pygsheets 有多种方法可以实现这一点。insert_rows
可以在一行中实现这一点。
wks.insert_rows(wks.rows, values=[daily_value], inherit=True) # here wks is the worksheet object
如果您不想添加新行或想在非最后一行中添加值,则可以使用append_table
,假设这是工作表中的唯一数据。在这里,您必须确保您的工作表有足够的行来适应新值。
wks.append_table(values=[daily_value])
于 2017-10-16T19:59:27.207 回答
0
以下代码片段会将数据添加到最后一个非空行。
#open the google spreadsheet
sh = gc.open('name of the google sheet')
#select the first sheet
wks = sh[0]
#retrieve all rows of the worksheet
cells = wks.get_all_values(include_tailing_empty_rows=False, include_tailing_empty=False, returnas='matrix')
#extract all non empty rows
nonEmptyRows = []
for i in cells:
if i != []:
nonEmptyRows.append(i)
#calculating the length
countOfnonEmptyRows = len(nonEmptyRows)
type(countOfnonEmptyRows)
#defining the data
ls = ['G', 'H', 'I']
#inserting data
wks.insert_rows(countOfnonEmptyRows, values=ls, inherit=True) # here wks is the worksheet object
于 2021-09-12T00:40:20.923 回答