4

我有一个 python 脚本,每次运行时,它都会返回一个新值。然后我需要将这些值添加到谷歌表中。所以每天脚本的结果都会被添加到一个新行中。我尝试使用“pygsheet”库,但我无法处理每天添加到新行的内容。如何将数据添加到最后一个空行?

4

3 回答 3

2

首先,获取电子表格中的所有值。您需要指定include_tailing_empty_rowsand include_tailing_emptyas 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 回答