【问题标题】:How can we delete rows in Google Spreadsheet in Python?我们如何在 Python 中删除 Google 电子表格中的行?
【发布时间】:2021-06-27 01:26:38
【问题描述】:

我正在尝试删除 B 列日期小于 30 天的行。

我可以在下面的代码中正确打印我想用print(row) 消除的行。但sheet.delete_row() 无法使用以下错误:

AttributeError: 'Resource' object has no attribute 'delete_row'

from google.oauth2 import service_account
from googleapiclient.discovery import build
import datetime


service_account_file = 'keys.json'
scopes = ['https://www.googleapis.com/auth/spreadsheets']

credential = service_account.Credentials.from_service_account_file(service_account_file, scopes=scopes)

spreadsheet_id = ‘testtesttesttest’
service = build('sheets', 'v4', credentials=credential)
sheet = service.spreadsheets()

result = sheet.values().get(spreadsheetId=spreadsheet_id, range='database!A2:J').execute()
values = result.get('values', [])

date = datetime.datetime.now() - datetime.timedelta(30)

for row in values:
    if datetime.datetime.strptime(row[1], '%d/%m/%Y') < date:
       sheet.delete_row()

【问题讨论】:

标签: python google-sheets google-api google-sheets-api


【解决方案1】:

尝试使用here 中的spreadsheets().batchUpdate()delete_row 似乎被gspread 使用(Google 表格的另一个 Python API)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    相关资源
    最近更新 更多